advanced 48 courses ~2286 hours 600 lessons

Learn CS from First Principles

A four-year computer science degree, built from the ground up.

A complete four-year computer science curriculum spanning 16 quarters and 48 courses — from discrete math and systems programming to distributed systems, machine learning, and applied AI.

Join the path to enroll in courses — they unlock in order as you finish each one.

  1. Year 1 · Quarter 1
  2. 1
    Discrete Mathematics 15 lessons ~60h advanced
  3. 2
    Introduction to Algorithms and Complexity 12 lessons ~46h intermediate
  4. 3
    Systems Programming (C and Zig) 12 lessons ~68h advanced
  5. 4
    The Missing Semester — CS Tools 10 lessons ~26h beginner
  6. Year 1 · Quarter 2
  7. 5
    Linear Data Structures 13 lessons ~44h intermediate
  8. 6
    Trees and Priority Queues 12 lessons ~56h intermediate
  9. 7
    Hashing and Advanced Linear Structures 13 lessons ~46h intermediate
  10. Year 1 · Quarter 3
  11. 8
    Graph Fundamentals 12 lessons ~48h intermediate
  12. 9
    Sorting and Searching 11 lessons ~44h intermediate
  13. 10
    Algorithm Design Paradigms I 11 lessons ~38h intermediate
  14. 11
    Programming Languages and Functional Programming 12 lessons ~48h intermediate
  15. Year 1 · Quarter 4
  16. 12
    Dynamic Programming 12 lessons ~60h advanced
  17. 13
    Graph Algorithms 11 lessons ~46h advanced
  18. 14
    Parallel and Concurrent Algorithms 11 lessons ~38h intermediate
  19. 15
    String Algorithms and Complexity Theory 13 lessons ~42h advanced
  20. Year 2 · Quarter 5
  21. 16
    Digital Logic and Computer Organization (Nand2Tetris + Theory) 13 lessons ~82h advanced
  22. 17
    Memory Systems and I/O 12 lessons ~42h advanced
  23. Year 2 · Quarter 6
  24. 18
    Processes and Concurrency 13 lessons ~58h advanced
  25. 19
    Memory Management and File Systems 14 lessons ~54h advanced
  26. Year 2 · Quarter 7
  27. 20
    Network Fundamentals and Application Layer 13 lessons ~48h intermediate
  28. 21
    Transport and Network Layer 14 lessons ~46h intermediate
  29. Year 2 · Quarter 8
  30. 22
    Database Systems 13 lessons ~48h beginner
  31. 23
    Theory of Computation 15 lessons ~52h advanced
  32. Year 3 · Quarter 9
  33. 24
    Foundations of Distributed Systems 13 lessons ~48h advanced
  34. 25
    Consensus and Replication 14 lessons ~54h advanced
  35. Year 3 · Quarter 10
  36. 26
    System Design Methodology 13 lessons ~32h intermediate
  37. 27
    System Design Building Blocks 12 lessons ~38h intermediate
  38. 28
    System Design Case Studies 12 lessons ~42h intermediate
  39. Year 3 · Quarter 11
  40. 29
    Software Construction (MIT 6.1020 / Stanford CS107 inspired) 12 lessons ~28h beginner
  41. 30
    Software Engineering Practices 11 lessons ~26h beginner
  42. 31
    Compilers and Interpreters 12 lessons ~66h advanced
  43. 32
    Performance Engineering of Software Systems (MIT 6.172) 13 lessons ~60h advanced
  44. Year 3 · Quarter 12
  45. 33
    Computer Security 12 lessons ~40h beginner
  46. 34
    Cryptography 11 lessons ~42h intermediate
  47. 35
    Computer Graphics (Elective) 11 lessons ~44h advanced
  48. 36
    Ethics, Society, and Professional Responsibility 11 lessons ~18h beginner
  49. 37
    The Modern Software Developer (Elective) 13 lessons ~30h intermediate
  50. Year 4 · Quarter 13
  51. 38
    Linear Algebra 13 lessons ~66h advanced
  52. 39
    Calculus and Optimization 12 lessons ~58h advanced
  53. 40
    Probability and Statistics 13 lessons ~58h advanced
  54. Year 4 · Quarter 14
  55. 41
    Supervised Learning 13 lessons ~54h advanced
  56. 42
    Unsupervised Learning and Practical ML 12 lessons ~46h advanced
  57. 43
    Reinforcement Learning 12 lessons ~42h advanced
  58. Year 4 · Quarter 15
  59. 44
    Neural Networks and Deep Learning Fundamentals 13 lessons ~56h advanced
  60. 45
    Computer Vision 12 lessons ~48h advanced
  61. 46
    Sequence Models and Generative Models 13 lessons ~52h advanced
  62. Year 4 · Quarter 16
  63. 47
    Natural Language Processing 13 lessons ~46h advanced
  64. 48
    Large Language Models and AI Engineering 17 lessons ~52h advanced