Roadmap
Start here: Algorithms and program structure
L1
programming fundamentals
Algorithms and program structure
An algorithm is a finite, unambiguous sequence of steps that solves a class of problems; a program is one expression of an algorithm in a language, and the same algorithm can be written in many languages.
Unlocks: Control flow, Numerical methods in computing, Data structures and algorithms
Control flow
Conditionals let a program choose between paths and loops let it repeat work, and between them they turn a fixed list of instructions into something whose behaviour depends on its data.
Requires: Algorithms and program structure
Unlocks: Data structures and algorithms
Data structures and algorithms
A data structure organises values in memory so that particular operations — accessing an element, searching for one, inserting or removing one — can be performed efficiently, and choosing the right structure (an array for fast indexed access, a linked list for cheap insertion, and so on) is what actually determines whether an algorithm running on that data scales well as the amount of data grows.
Requires: Algorithms and program structure, Control flow
L2
numerical methods
Numerical methods in computing
Numerical methods solve equations that have no convenient closed-form solution by breaking the problem into many small, repeated steps a computer can execute, such as Euler's method for approximating a differential equation's solution as a sequence of small linear steps, at the cost of introducing approximation error that must be understood and controlled.
Requires: Algorithms and program structure