What this is

This is my Virtual Learning Development (VLD) project for the 2026–27 school year.
VLD gives me one period a week to teach myself something outside the normal
timetable, with a supervisor checking in on how self-directed I’m being. This
site is where I keep track of it.

What I’m learning

Data structures and algorithms, in C++.

The course I’m following is Data Structures (数据结构) from Tsinghua University,
taught by Prof. Deng Junhui, hosted free on XuetangX. It’s the full course their
CS department teaches. Everything is in C++, and the programming assignments are
graded automatically by Tsinghua’s own online judge.

Grading for the course is 6 problem sets (60%) plus 4 programming assignments (40%).
My plan for this year is to finish Part 1: vectors, lists, stacks and queues,
binary trees, and graphs.

Why this, and why C++

I want to study computer science, and data structures is the thing everything else
sits on top of. I’ve written a fair amount of C++ for competitive programming,
but that was mostly loops and arrays. This course covers templated classes, container
design, and why one data structure is faster than another, which is the part I
want to get solid on.

It’s also something that takes time to absorb. That’s sort of the point of giving it a year.

How this site is organised

  • Home / All Entries: my learning journal, one entry per week.
  • Resources: the course links, the judge, the textbook, and anything else I’m using.