One small idea per lesson. Read it, try it, then move on.
Two separate courses. Pick one and the chapters below change to match.
UNIT 1
What a program is, and how to print to the screen.
UNIT 2
Variables, types, input and arithmetic.
UNIT 3
Check a condition and do different things.
UNIT 4
Do the same job many times.
UNIT 5
Work with words, and hold many values at once.
UNIT 6
Nested loops, functions, and growable lists.
UNIT 7
Recursion, speed and grids — what everything after this rests on.
UNIT 8
Finding things, sorting them, binary search and prefix sums.
UNIT 9
map, set, stack and queue — the ones you use instead of writing your own.
UNIT 10
Greedy, backtracking and dynamic programming.
UNIT 11
Nodes and edges, depth-first and breadth-first search, shortest paths.
UNIT 12
Classes, methods and your own operators. Small, but needed for Cambridge.