Learning paths

Programming roadmaps

Follow a sequence of topics and practice each one before moving on.

Foundations

Computer science subjects

Analysis of algorithms

Measure how running time and memory grow, solve recurrences, reason about average and amortized cost, and prove a loop correct.

17 lessons

Database systems

Model data with tables and constraints, query it with SQL, normalize designs, keep updates safe with transactions, and speed up queries with indexes.

24 lessons

Operating systems

Study CPU scheduling, page replacement, deadlock avoidance, synchronization, and virtual memory through small simulations.

17 lessons

Computer networks

Learn protocol layering, IP addressing, TCP and UDP sockets, HTTP messages, and how routers choose where to send a packet.

18 lessons

Software engineering

Practise the habits of building maintainable software: unit tests, safe refactoring, SOLID design, design patterns, version control, and clear contracts.

19 lessons

Information security

Learn the safe defaults: hashing, password storage, message authentication, why keys must not be reused, SQL injection, and secure randomness.

24 lessons

Parallel and distributed computing

Understand concurrency versus parallelism, thread pools, processes, speed-up limits, MapReduce, logical clocks, and replication with quorums.

18 lessons

Artificial intelligence (AI)

Model agents and environments, search state spaces, use heuristics with A*, play games with minimax, solve constraints, and use local search.

17 lessons

Knowledge representation and reasoning (KRR)

Represent what a system knows in logic and networks, and derive new facts with entailment, chaining, resolution, unification, and probability.

17 lessons

Machine learning (ML)

Learn how models are evaluated and trained: metrics, linear and logistic regression, k-nearest neighbors, decision trees, clustering, and validation.

18 lessons

Artificial neural networks and deep learning (ANN/DL)

Build up from one neuron to multilayer networks: perceptrons, activations, forward passes, backpropagation, loss functions, convolutions, and regularization.

18 lessons

Computer vision (CV)

Treat images as arrays, then filter, detect edges, threshold, label blobs, and match templates.

17 lessons

Language paths