Programming & Computer Science
cs-01-thinking-in-code
THE SYLLABUS dev · all lessons unlocked
I
0 / 7
▶
Writing Programs
Programs are instructions — write your first ones by steering a self-driving truck.
Free
▶
Sequencing Commands
Delivering is a command too — write precise programs, then meet pseudocode and Python.
Open
▶
Repeating Patterns
Spot the pattern, then let a loop do the repeating — your first repeat block.
Open
▶
Debugging Programs
Fix buggy loops by reordering the commands inside them.
Open
▶
Looping With Logic
From repeat counts to while loops — conditions let programs decide when to stop.
Open
▶
While Loop Challenge
Two capstone puzzles: find the repeating pattern, let the while loop do the counting.
Open
▶
Level 1 Review
Nine quick puzzles covering everything in First Steps.
Open
II
0 / 6
▶
Recognizing Patterns
Some commands belong inside a loop, others before or after it.
Open
▶
Controlling with Logic
Choose the condition that controls when a loop stops: sensor conditions that read the world, count conditions that read the job.
Open
▶
Nesting Loops
A pattern inside a pattern: an outer loop repeats the job, an inner loop repeats the step — and the program stops depending on distance.
Open
▶
Combining Loops
Chain two while loops in a row so each phase carries its own condition, then nest the pair inside an outer loop and sweep a whole grid.
Open
▶
Loop Combo Challenge
One board, everything so far: a travel loop, a work loop, a turn between them, and an outer loop that repeats the whole pattern until the job is done.
Open
▶
Level 2 Review
Eight boards that put Level 2 back together: fill in the commands, fix a broken order, and set the conditions on chained and nested loops until every gem is collected.
Open
III
0 / 6
▶
Using if Statements
Meet the if statement: a condition read once, at that line, that lets a loop deliver only where a package waits, turn only when the road ends, and steer toward whichever side still holds work.
Open
▶
Preventing Errors
An if statement is a guard. See exactly what an unguarded command costs a program, then put the guards back: deliver only where a package waits, and turn only when one is beside you.
Open
▶
Using if-else Statements
The else branch is the half of an if-else that runs when the condition is False. One decision per pass, and a truck can steer itself across any board.
Open
▶
Branching with Logic
Use if-else to choose a direction, then act on it every pass.
Open
▶
Branching Challenge
Put branching to work: one check moves the truck, the other delivers.
Open
▶
Level 3 Review
Eight boards that put every branching idea from Level 3 back to work: guarded turns, stacked conditions, an else branch that holds a whole manoeuvre, and one program to read instead of build.
Open
IV
0 / 6
▶
Conditioning on History
The truck remembers every corner it has stood on, and six new conditions read that record. Guard a turn with it, hand a branch to it, and let a loop use it to decide when to stop.
Open
▶
Nesting Logic
A branch inside a branch. When there is nothing ahead the truck asks a follow-up question before it commits, and by the last exercise the program is three levels deep.
Open
▶
Complex Branching
The two sides of an if-else do not have to match. One arm can hold a whole manoeuvre while the other holds a single step, and by the last skill check the long arm is four commands deep.
Open
▶
Complex Logic
When the street ends the truck still has to pick a side, so a second if-else goes inside the first. It decides by asking whether the truck has already driven the street on its right.
Open
▶
Designing Programs
A good program is not written in one go. Four times over, the same fixed set of test routes is run against the current program, the failures are read off a verdict gallery, and the next line is written to answer them.
Open
▶
Level 4 Review
Ten boards that put Level 4 back together: guards that read history, spirals, nested branches, U-turns as wide as the gap they cross, and the rim lap the whole level was built toward.
Open
V
0 / 4
▶
Programming a Website
Level 5 opens on a storefront. The same loop, condition and ordering from Levels 1-4, now writing a website: a catalog that survives a forty-third product, a menu that appears once instead of once per item, and one if-else that serves a phone and a monitor.
Open
▶
Automating Emails
The same loop and the same if-else, now running a mailing list. One loop decides who gets an email, a condition decides which email they get, and a condition inside a condition finds the customers who order every week.
Open
▶
Automating Social Media
The same loop and the same nested if-else, now running a social feed. One condition decides which platform a post belongs on, a second one asked inside the first sorts short text from long, and a loop over approved posts sends the whole feed out without publishing a draft.
Open
▶
Programming an App
The loop and the nested logic from earlier levels, now running an app. One condition decides which tab the user is on, an inner loop skips past everything that does not belong so the walk only stops on what does, and an else branch shows a single newest order when no tab is asking for the whole list.
Open