open atlas

base-cs

Base CS from zero

Start with no CS theory. Finish understanding how a computer runs your code and what every programming construct really means.

12 units·100 lessons·~67 h

Start track
01

What a computer is

A computer stores everything as bits and is built from two-state switches.
02

Memory

Memory is a long row of numbered cells; an address is the number, a value is what sits there.
03

The processor

The CPU repeats one loop forever: fetch an instruction, decode it, execute it.
04

From machine code to a language

High-level code is translated — compiled or interpreted — into the instructions the CPU runs.
05

Values and types

Bits mean nothing alone; a type is the rule that says how to read them.
06

Variables and state

A variable is a named memory cell; assignment changes what it holds.
07

Control flow

Conditionals and loops are the CPU choosing which instruction to run next.
08

Functions and the call stack

Every call pushes a frame onto the stack; returning pops it back off.
09

Data in memory

Arrays are contiguous cells; objects are labelled cells — both are layouts in memory.
10

Abstraction

Bundling data with the operations on it lets you stop thinking about the machine.
11

When a program fails

An error is the machine reporting it cannot continue; the stack trace says where.
12

Time and concurrency

Async exists because the CPU must not sit idle while a slow device answers.

Build with this track

Guided projects that exercise what you learn here.

Next track

Algorithms from zero

Know one programming language, know no algorithms. Finish able to solve hard problems with confidence.