Resources
Learning Resources
Curated links, reading lists, and guides across all areas of computer science.
Competitive Programming
CP Algorithms
Comprehensive reference for competitive programming algorithms and data structures, with detailed explanations and C++ implementations.
IntermediateCSES Problem Set
~300 curated competitive programming problems covering all major topics — widely considered the best structured problem set for learning.
BeginnerCodeforces
The leading competitive programming platform. Regular Div. 1–4 contests, editorial write-ups, and a massive problem archive.
BeginnerCompetitive Programmer's Handbook
Free PDF textbook by Antti Laaksonen covering graph theory, dynamic programming, number theory, and more for competitive programmers.
IntermediateCTF / Security
picoCTF
Beginner-friendly CTF platform by Carnegie Mellon University. Challenges in web, crypto, forensics, reverse engineering, and binary exploitation.
Beginnerpwn.college
Structured learning platform for binary exploitation and systems security — covering GDB, shellcode, ROP chains, kernel exploitation.
IntermediateCryptoPals Challenges
Hands-on cryptography challenges that teach you to break real cryptographic systems through practical implementation. Highly recommended.
IntermediateCTFtime.org
Calendar and archive of CTF competitions worldwide. Find upcoming events, team rankings, and write-ups from past competitions.
BeginnerMachine Learning
fast.ai Practical Deep Learning
Top-down approach to deep learning: practical course that gets you building state-of-the-art models from lesson one, no PhD required.
BeginnerAndrej Karpathy: Zero to Hero
Build neural networks from scratch in Python, culminating in a GPT-style language model. The clearest explanation of backprop that exists.
IntermediateSystems & Architecture
CS:APP — Bryant & O'Hallaron
Computer Systems: A Programmer's Perspective — the definitive systems programming textbook. Assembly, memory, caching, linking, concurrency.
IntermediateMIT 6.824 Distributed Systems
MIT's graduate distributed systems course. Lectures and labs covering Raft consensus, MapReduce, and fault-tolerant key-value storage.
AdvancedGeneral CS
The Missing Semester of CS
MIT's course on practical tools CS education skips: the shell, Vim, Git internals, debugging, profiling, and more. Essential for every student.
BeginnerProject Euler
Mathematical and computational problems requiring creative algorithmic thinking. Great for sharpening both mathematical reasoning and coding skills.
Intermediate