Disciplines
- Data Science with Python, Learn data science and machine learning by doing: pandas, analysis, visualization, statistics, and ML algorithms built from scratch.
- Data Structures & Algorithms in C++, Crack the coding interview in C++, the language of competitive programming: build every data structure and master every pattern from scratch, from arrays and hashing to graphs and dynamic programming, compiled and graded with g++.
- Data Structures & Algorithms, Crack the coding interview: build every data structure from scratch, master the patterns, from arrays and hashing to graphs and dynamic programming.
- Embedded C: Firmware from Scratch, Write the C that runs on microcontrollers. Manipulate registers bit by bit, drive simulated GPIO, timers, ADCs and serial ports, handle interrupts and state machines, and build a complete smart-thermostat firmware. Every peripheral is modeled in plain C so it runs and grades on the server, no hardware required.
- Quantitative Finance with Python, Build quant finance from scratch: returns, bonds, portfolios, risk, options, the Greeks, and a backtester.
- Programming from Scratch, Learn to code with Python, from your first variable to a real command-line tool.
- Geospatial & Geophysics, Learn the algorithms inside every GIS by building them from scratch in Python: great-circle distance, map projections from their raw formulas, point-in-polygon and convex hulls, geohashes and quadtrees, slope and hillshade from elevation grids, spatial interpolation, and locating an earthquake from its waves. Where the map comes from, not which button draws it.
- GPU Computing and Graphics with Python, Learn the GPU and CUDA programming model and computer graphics from scratch: parallel kernels, the memory hierarchy, tiled matmul, transforms, rasterization, and ray tracing.
- High-Performance Computing in Julia, Julia is fast, but only if you write it that way. This track builds the craft of high-performance computing in the language designed for it: type stability and why it lets the compiler generate tight code, memory layout and how to kill allocations, benchmarking that measures what matters, SIMD and vectorization, multithreading with race-free reductions, parallel map and reduce and scan, tasks and channels, the GPU programming model expressed over arrays, cache-friendly tiled numerics, and a high-performance data pipeline capstone. From a slow loop to code that saturates the machine.
- Object-Oriented Java, Learn Java by building the machinery everyone else imports: a growable ArrayList and a HashMap from raw arrays, the equals/hashCode contract, inheritance and dynamic dispatch done right, generics with bounded wildcards, the classic design patterns built against real scenarios, a hand-rolled Streams pipeline, and an order-processing engine capstone. The language of a million backends, from first principles.
- Machine Design with Python, Design real mechanical parts in code: stress and deflection, beams and shafts, the gears and gear trains at the heart of every machine, cams, springs, and bearings, finishing with a complete gearbox design. Every result is a number you can check against the handbook.
- Machine Learning in R, Build the predictive models, not call the library. Feature engineering and the model matrix, k-nearest neighbors, naive Bayes, decision trees, random forests and boosting, k-means and hierarchical clustering, PCA, and the metrics that judge a model, all written from scratch in base R and checked against R's own implementations. The predictive-modeling complement to statistical inference.
- Computational Neuroscience with Python, Model the brain from a single cell up, in code: membrane circuits, integrate-and-fire and Hodgkin-Huxley neurons, synapses, networks, plasticity, neural coding and decoding, and the dynamics of decisions, all from scratch with numpy.
- Natural Language Processing, Teach a program to read. Build NLP from the ground up in Python and numpy: tokenizers and vocabularies, bag-of-words and TF-IDF search, n-gram language models that generate text, Naive Bayes and logistic-regression classifiers, edit distance and a spell-corrector, hidden Markov models with Viterbi for tagging, word embeddings from co-occurrence and SVD, dot-product attention, and a mini language-model capstone. No nltk or spaCy, you write the math, so you understand what every library is really doing.
- Operating Systems, Learn how an OS actually works by building its algorithms from scratch in C: process tables and schedulers, locks and deadlock detection, memory allocators, page tables and replacement policies, a filesystem's inodes and bitmaps, disk scheduling, a tiny shell, and a mini kernel simulator. The machinery under every program you have ever run.
- Computational Physics with Python, Simulate the modern physics frontier from scratch: quantum mechanics and computing, statistical physics and Monte Carlo, chaos, and complex systems.
- Robotics with C++, Build an autonomous mobile robot in C++, the language of real robotics: kinematics, sensors, PID control, line following, mapping, path planning, and full autonomous navigation.
- Systems Programming in Rust, Learn Rust the way it actually rewires how you think about code: ownership and borrowing that make memory bugs impossible, structs and methods, enums and exhaustive pattern matching, Option and Result error handling with the ? operator, the standard collections, traits and generics, iterators and closures, and fearless concurrency with threads and channels. Memory safety and zero-cost abstractions, the hard way made approachable, ending in a capstone that wires it all together.
- Scientific Computing in Julia, Learn the numerical methods behind science and engineering in Julia, the language built for them. Build floating-point intuition, linear algebra, root-finding, interpolation, quadrature, ODE solvers, optimization, and Monte Carlo from scratch with Base Julia and LinearAlgebra, then assemble them into a real simulation.
- Statistical Computing in R, Learn R the way statisticians use it, and learn statistics by building it: vectors and the apply family, data frames rebuilt from a list of columns, probability distributions and hypothesis tests written from scratch, least-squares regression by hand, the bootstrap and permutation tests, time-series smoothing, and a full statistical-analysis engine. The language of data analysis, from first principles.
- High-Performance Aerospace Computing with Fortran, The fast numerical core under aerospace: write the solver kernels in Fortran, the language of CFD, FEA, and HPC.
- Programming for Aerospace Engineers, Learn Python by solving real aerospace problems, orbits, trajectories, and flight dynamics.
- Deep Learning with Python, Build modern AI from scratch: neural networks, backprop, CNNs, transformers, a tiny GPT.
- Audio & DSP, Learn digital signal processing by building it from scratch in Python: generate and sample signals, implement the DFT and FFT yourself, window and analyze spectra, design FIR and IIR filters by hand, build delay, reverb and modulation effects, detect pitch, and assemble a working synthesizer. The math, not the library calls.
- Backend Java, Build the backend that frameworks hide: parse raw HTTP by hand, write a JSON parser from scratch, route requests with path parameters, chain middleware, map objects to in-memory tables, pool connections, cache with LRU and TTL, validate request bodies, mint and verify session tokens, and wire it all into a working REST service. The server underneath Spring, from first principles.
- Bioinformatics with Python, Learn Python by decoding life: read DNA, transcribe and translate genes, align sequences, call mutations, and analyze whole genomes.
- Computational Chemistry with Python, Build chemistry from the atom up, in code: stoichiometry, structure and bonding, thermodynamics, equilibrium, kinetics, quantum chemistry, and a molecular-dynamics engine, all from scratch with numpy and the standard library.
- Climate Modeling, Learn how climate science actually works by building its models from scratch in Python: the planetary energy budget, the greenhouse effect layer by layer, radiative forcing and feedbacks, snowball-Earth bifurcations, the carbon cycle, ocean tipping points, trends versus noise, and a mini Earth-system model that turns emission scenarios into warming. The physics inside every projection, not the headlines.
- Compilers & Interpreters, Build your own programming language from scratch in Python: a scanner that breaks source into tokens, a Pratt parser that grows an abstract syntax tree, a tree-walking interpreter for expressions, variables, control flow and closures, a resolver and honest error reporting, and a bytecode compiler with its own stack VM, capped by a complete mini-language you can actually run. The machinery inside every interpreter, one piece at a time.
- Concurrency in Java, Threads are where most programs go wrong. This track builds concurrency from the ground up in Java: run code on threads and join the results, see exactly how a race corrupts shared state, fix it with synchronized blocks and locks, go lock-free with atomics and compare-and-set, reason about the Java Memory Model and happens-before, manage work with executors and thread pools, coordinate with latches, barriers, and semaphores, build your own thread-safe queue and map, recognise deadlock and livelock before they bite, and finish by building a concurrent job system end to end. The hardest part of real software, made concrete.
- Programming for Hackers, Learn Python by breaking and defending: encoding, crypto, forensics, and capture-the-flag.
- SQL for Data Analysts, Learn SQL by answering real analytics questions: query, filter, aggregate, join, and uncover insights in a live database.
- Data Engineering, Learn the systems and algorithms behind data engineering by building them from scratch in Python: parsers and joins, the probabilistic sketches inside every warehouse, columnar file formats, MapReduce, streaming windows and watermarks, a DAG-based pipeline orchestrator, and a small query engine. The engine, not the buttons.