Memory, a processor, and a translator called a compiler. Step a real machine one instruction at a time, then watch one missing semicolon stop everything.
A computer is a machine that reads one instruction from memory, does it, moves to the next, and repeats — billions of times a second, which is the only reason it looks clever.
Your course description calls this “the fundamentals of systems”. It matters more than it sounds, because everything strange that happens to you later — why your program crashed, why it was slow, why the compiler refused — comes from this machine and not from magic.
Three parts and you have most of it. Memory is a long row of numbered boxes, and it forgets everything when the power goes. Storage is the drive, which is slow and remembers. The processor is the part that actually does things, and it can only do very simple things, one at a time.
Your program lives in memory as data, right next to the numbers it is working on. The instructions are not somewhere else. They are just more contents in more boxes, and the processor walks along reading them.
Memory is on the left, holding a tiny program. The processor is on the right. Press step and watch it fetch one instruction, do it, and move on.
This is the fetch–execute cycle. It is all a processor ever does.
Here is the thing that trips people up in week one, and it is not a concept — it is a step in the process nobody warned them about.
The processor cannot read what you type. It reads numbers. So between you and the machine sits a program called a compiler, whose job is to translate everything you wrote into machine instructions, all at once, before anything runs. If it cannot translate one single character of it, it translates none of it and nothing runs at all.
Press compile. Then break it on purpose and press compile again.
Text. Readable by you, meaningless to the machine.
Reads all of it and checks every character.
Numbers the processor can actually do.
Only now does anything happen.
In week one you will hit a wall of compiler errors over a missing semicolon, and it feels like the machine hates you. It does not. A compiler error means nothing ran — not that your thinking was wrong. It is the strictest possible proofreader, complaining about punctuation before it will even look at your ideas. Everyone gets these. Every day. Forever.
Some languages skip the translate-everything-first step. Python and JavaScript are interpreted — another program reads your code line by line as it goes. C++ is compiled — translated whole, in advance, into a file the machine runs directly.
The trade is real and it is worth knowing which side you are on. Compiled is faster when it runs, because the translating already happened, and it catches whole categories of mistake before anything starts. Interpreted is faster to try things in, because there is no waiting, but a typo on line 400 will happily run for ten minutes before it finds it.
You are learning a compiled language, so the compiler is going to argue with you before every single run. Friends learning Python will not have this and it will look like they are moving faster. They are just meeting their mistakes later.
Hold the cards in a numbered stack. Hand over exactly one when asked, in order. Never explain what is on it.
Ask for the next card, do exactly what it says, put it down, ask for the next. You may only hold two numbers in your head at a time.
Then try one that says “go back to card 2” and watch a loop appear out of nothing but ordering. Two numbers in your head is not an arbitrary rule — a real processor works on a tiny handful of values at a time and keeps everything else in memory. That constraint is why programs are written the way they are.
That is the entire job of a processor. Everything else is speed and scale.
Instructions sit in numbered memory boxes right beside the numbers they work on.
It is punctuation, not judgment. It says nothing about whether your idea was any good.
Not recall — these are the shapes an exam actually uses. Every answer below was produced by compiling and running the code, so if you disagree with one, the compiler is the one to believe.
Have a real go before revealing. Being wrong here is worth more than being right in three weeks.
What does a processor actually do?
You leave out one semicolon in a 200-line program. What gets built?
What is the difference between memory and storage?
← back to all 12 levels · stuck on anything? ask peter.