LEARNING PATH 01

Build your CS foundations

Understand what happens after you write the code.

Follow a program from execution to memory, complexity, and the CPU. Use computer science foundations to answer questions that come up while building software.

For programmers who want to connect their experience to computer science foundations

8 lessons availableAbout 555 min in total
Read the first lesson →
Why can two implementations of the same task run at different speeds?

Suggested reading order

Check the prerequisites listed in each lesson as you go.

  1. 01

    Programming Foundations

    From Source Code to a Running Program

    About 45 min

    →
  2. 02

    Programming Foundations

    Values, Types, Control Flow, Functions, and Modules

    About 60 min

    →
  3. 03

    Discrete Mathematics, Logic, and Proof

    Propositional Logic, Predicate Logic, and Proof

    About 60 min

    →
  4. 04

    Programming Foundations

    Memory, Pointers, References, and Lifetimes

    About 75 min

    →
  5. 05

    Algorithms and Data Structures

    Complexity and Measured Performance

    About 75 min

    →
  6. 06→
  7. 07

    Computer Architecture

    CPUs, Instruction Cycles, and Pipelines

    About 75 min

    →
  8. 08

    Computer Architecture

    Caches and the Memory Hierarchy

    About 90 min

    →

Where this path leads

These lessons are being prepared. Explore their objectives on the map.