From fixed-program calculators to Turing's stored-program insight — every computation reduces to six primitive operations.
Short drills on what this video just taught. Write the code, run the checks, and reveal the answer only if you are stuck.
A computer's memory is a grid of numbered locations, each holding a value. A Python variable plays the same role: the name is the address, and the value is what's stored there.
Pretend address 3456 should hold the number 3, just like the machine in the video. Assign 3 to mem.
Dumb but fast machines
Record that a machine carries out exactly the steps it is given, together with the two things it does well: storing enormous amounts of data and running operations at enormous speed.
Fixed-program versus stored-program designs
State the pre-1940s calculator design against the post-1940s design that stores instructions as data, and name the interpreter plus its basic instructions: arithmetic, simple tests and moving data.
Hand-trace of the add-and-compare program
Walk memory, the ALU and the control unit through the sample run: fetch 3 and 4 from locations 3456 and 3457, store 7 at 3458, compare with 7891, print True.
Six primitives and language equivalence
List move left, move right, read, write, erase and no-op, and write the statement that anything computable in one programming language is computable in every other.