Learning Roadmap

Computer Science Learning Path

Complete CS learning roadmap based on real university courses

7

Learning Stages

28

Topics

13

Advanced Lessons

How to Get Started?

Based on the CS Learning Planning document, start with essential tools and gradually progress to specialized areas

Start with Basics

Master essential tools like command line and Git, then learn mathematical foundations

Progress Gradually

Follow the sequence from beginner to advanced, building strong foundations at each stage

Practice-Oriented

Each course includes practical projects to reinforce theoretical knowledge through hands-on practice

Step-by-step

Suggested Learning Sequence

Follow this sequence to build a solid foundation in computer science

Stage 1

Essential Tools

Master the fundamental tools that every computer science student needs

Stage 2

Mathematical Foundations

Build strong mathematical background for computer science

Stage 3

Programming Fundamentals

Learn programming from scratch with multiple languages

Stage 4

Computer Systems

Understand how computers work from hardware to software

Stage 5

Algorithms & Theory

Master the theoretical foundations of computer science

Stage 6

Machine Learning & AI

Explore the fascinating world of artificial intelligence

Stage 7

Specialized Topics

Explore advanced and specialized areas of computer science

Stage 1

Essential Tools

Master the fundamental tools that every computer science student needs

4 topics

Command Line & Shell

Learn Vim, command line basics, and shell scripting

Beginner
4 hoursSelf-paced

Git & Version Control

Master Git for project management and collaboration

Beginner
3 hoursSelf-paced

Information Retrieval

Learn information retrieval techniques, search engines, and data indexing

Beginner
2 hoursSelf-paced

Docker & Containerization

Learn container technology for modern development

Intermediate
3 hoursSelf-paced

Stage 2

Mathematical Foundations

Build strong mathematical background for computer science

4 topics

Calculus & Linear Algebra

Essential math for algorithms and machine learning

Beginner
20 hoursSelf-paced

Discrete Mathematics

Logic, set theory, graph theory, and combinatorics

Intermediate
15 hoursSelf-paced

Probability Theory

Foundation for machine learning and algorithms

Intermediate
12 hoursSelf-paced

Information Theory

Entropy, coding, and communication theory

Advanced
8 hoursSelf-paced

Stage 3

Programming Fundamentals

Learn programming from scratch with multiple languages

4 topics

Introduction to Programming

Start with Python or C - Harvard CS50, MIT 6.100L

Beginner
20 hoursSelf-paced

Data Structures & Algorithms

UCB CS61B, Princeton Algorithms - Core CS foundation

Intermediate
25 hoursSelf-paced

Software Engineering

MIT 6.031, UCB CS169 - Write production-quality code

Intermediate
15 hoursSelf-paced

Advanced Programming

Stanford CS106B/X, MIT 6.824 - Systems programming

Advanced
20 hoursSelf-paced

Stage 4

Computer Systems

Understand how computers work from hardware to software

4 topics

Computer Architecture

Nand2Tetris, UCB CS61C - Build a computer from scratch

Intermediate
15 hoursSelf-paced

Operating Systems

MIT 6.S081, UCB CS162 - Write your own OS kernel

Advanced
20 hoursSelf-paced

Computer Networks

Stanford CS144 - Implement TCP/IP protocol stack

Intermediate
15 hoursSelf-paced

Database Systems

CMU 15-445, UCB CS186 - Build your own database

Intermediate
15 hoursSelf-paced

Stage 5

Algorithms & Theory

Master the theoretical foundations of computer science

4 topics

Algorithm Design

UCB CS170, MIT 6.046 - Advanced algorithm techniques

Intermediate
20 hoursSelf-paced

Theory of Computation

MIT 6.045J - Automata, computability, complexity

Advanced
15 hoursSelf-paced

Cryptography

Stanford CS255 - Mathematical foundations of security

Advanced
12 hoursSelf-paced

Convex Optimization

Stanford EE364A - Optimization in ML and algorithms

Advanced
10 hoursSelf-paced

Stage 6

Machine Learning & AI

Explore the fascinating world of artificial intelligence

4 topics

Machine Learning Fundamentals

Andrew Ng ML, Stanford CS229 - Core ML concepts

Intermediate
25 hoursSelf-paced

Deep Learning

Stanford CS231n, CS224n - CNNs, RNNs, Transformers

Advanced
30 hoursSelf-paced

Reinforcement Learning

UCB CS285 - Deep RL and policy optimization

Advanced
20 hoursSelf-paced

AI Systems

CMU 10-414 - Deep learning systems and optimization

Advanced
15 hoursSelf-paced

Stage 7

Specialized Topics

Explore advanced and specialized areas of computer science

4 topics

Computer Graphics

Stanford CS148, Games101 - Rendering and visualization

Advanced
20 hoursSelf-paced

Parallel Computing

CMU 15-418/Stanford CS149 - GPU programming and CUDA

Advanced
15 hoursSelf-paced

Distributed Systems

MIT 6.824 - Consensus, replication, fault tolerance

Advanced
20 hoursSelf-paced

System Security

UCB CS161, SU SEED Labs - Security and cryptography

Advanced
18 hoursSelf-paced

Ready to Start Your CS Journey?

Start with essential tools and gradually master core computer science concepts