CS Primer search log in

Don't learn another framework, learn the foundational computer science concepts that matter

Not sure where to start? Read the how-to guide.

Programming: Beyond the Basics

Develop your programming skills beyond what you may have seen in an introductory course.
17 problems 8 explainers 19 hr 26 min total of 20 hrs planned

Computer Systems

To best utilize the computer, you must understand how it works. Covering binary representations of data, introductory C and x86-64 assembly programming, CPU microarchitecture and the memory hierarchy.
25 problems 4 seminars 49 explainers 28 hr 14 min total

Algorithms and Data Structures

Understand common algorithms and data structures, and improve your general problem solving skills. Covers common data structures, divide and conquer, graph search, dynamic programming and more.
22 problems 8 seminars 12 explainers 27 hr 10 min total

Computer Networks

Understand network protocols from first principles, and learn network programming with sockets. Covers HTTP and DNS, TCP and QUIC, IPv4 and IPv6, TLS and more.
17 problems 1 seminar 43 explainers 23 hr 58 min total

Operating Systems

Most of the code you write is run by an operating system, so it's critical to know how they work. Covers process execution and scheduling, concurrency, virtual memory, IPC, file systems, virtual machines and containers.
22 problems 4 seminars 40 explainers 29 hr 33 min total

Relational Databases

Data is at the heart of most significant programs, but few understand how database systems actually work.
8 problems 8 explainers 12 hr 14 min total of 20hr planned

Distributed Systems

Expected release: late 2024