Prerequisites

For Module 01 (Mathematics for Systems)

  • Basic algebra (exponents, logarithms)
  • Familiarity with code in at least one language
  • No calculus required

For Module 02 (Data Structures)

  • Completed or familiar with Module 01 (Big-O notation)
  • Can write loops, conditionals, and functions in Python, Go, or Node.js

For Module 03 (Operating Systems)

  • Understand what a process is (colloquially)
  • Have run commands in a terminal
  • Know what a file descriptor is conceptually

For Module 04 (Computer Networks)

  • Know that HTTP is a protocol that runs over TCP
  • Have used curl or fetch

For Module 05 (Network Programming)

  • Completed Module 04
  • Can write a Python or Go program that reads from stdin

For Module 06 (Databases)

  • Know how to write a basic SQL SELECT, INSERT, UPDATE
  • Completed Module 02 (need B-tree knowledge from trees module)

For Module 07 (Core Backend Engineering)

  • Completed Modules 03, 04, 06 (or have equivalent production experience)
  • Have used an ORM in at least one language

For Modules 08–12

  • Completed Module 07
  • Have shipped at least one backend service to production

📚 Related Topics