Build the mental model behind every programming language: how to break a problem down, express the steps precisely, and find out why they went wrong.
Computational thinking comes before syntax. These four are the moves you make on a problem before writing a single line.
Two notations for describing an algorithm without committing to a language, plus the idea that order is itself meaningful.
Variables, operators, branching, and looping β the four constructs that between them cover almost everything a program does.
Named boxes that store values, and how algorithms remember things.
Arithmetic, comparison, and the rules for combining values into expressions a computer can evaluate.
IFβTHENβELSE decisions, conditions, and simple logic.
Count-controlled and condition-controlled loops, and avoiding infinite loops.
Grouping data, naming reusable behaviour, and the discipline of proving your code does what you think it does.
Storing many values under one name, finding them by index, and looping over them all.
Naming a block of instructions so you can reuse it β the most powerful idea in programming.
Running an algorithm by hand, one line at a time, to see exactly what it does β and where it goes wrong.
Finding and fixing errors in algorithms with tracing and testing.
Test data, edge cases, and test plans β how programmers prove their code works before users find out it doesn't.