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
curlorfetch
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