warming up your workspace

Disciplines

  • Aerospace Numerical Computing with Fortran, Build and verify numerical procedures, trajectories, grid solvers and axial structural models, then assemble a complete educational rocket mission.
  • 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 executable backend models in Java: parse HTTP messages, read and write JSON, route paths, compose middleware, store objects in memory, model resource pools, cache reads, validate inputs, and study authentication boundaries. Combine them in a persistent REST message service with raw request and response entry points; networking, databases and production cryptography are outside this track.
  • Bioinformatics with Python, Learn Python through DNA strings, candidate translations, alignment, sequence differences, parsing, population summaries and bounded assembly experiments.
  • 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.
  • Computational Biology with R, Learn R by investigating living systems: audit experiments, genomes, expression, pathways, variants, communities, cells, evolutionary histories, protein evidence, and integrated cohorts.
  • Computational Chemistry with MATLAB, Learn MATLAB through molecular evidence: structures, surfaces, kinetics, quantum states, spectra, dynamics, electronic structure, thermal ensembles, solvation, and design under uncertainty.
  • 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, Build parsers, joins, sketches, local MapReduce operations, streaming window state and a small query engine in Python. Use in-memory columnar and block models to study storage formats, and connect task completion and batch ledgers to replay-safe state updates.
  • 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.
  • Electrical Engineering with MATLAB, Learn MATLAB by tracing electrical evidence from circuits and transients through resonance, semiconductors, instrumentation, filters, conversion, control, three-phase power, and motor-drive commissioning.
  • 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.
  • Game Development with C#, Build complete browser games from the game loop upward. Learn C# through motion, collision, animation, AI, procedural worlds, game feel, and deterministic state that can be tested instead of guessed from a screenshot.
  • Programming from Scratch, Learn to code with Python, from your first variable to a real command-line tool.
  • Geospatial & Geophysics, Learn Python through explicit geospatial models: coordinates, spherical distances, projections, planar geometry, spatial indexes, raster terrain, interpolation, spatial statistics and simplified seismic calculations. Finish by composing a testable MiniGIS layer-to-decision pipeline.
  • GPU Computing and Graphics with Python, Learn GPU programming concepts through CPU Python and NumPy models, then assemble triangle rendering, sphere ray tracing, image filters and particle simulations. Exercises do not execute CUDA kernels or measure GPU speedups.
  • High-Performance Computing in Julia, Build correct numerical programs in Julia, then study the choices that can make them efficient: types and dispatch, memory reuse, reductions, SIMD-friendly loops, real CPU threads, tasks and channels, CPU models of GPU indexing, numerical stencils, and a composed threaded analytics engine. Worked examples establish behavior; hardware execution and performance claims need their own measurements.
  • Object-Oriented Java, Learn Java through methods, objects and small working systems. Build growable arrays and hash maps, use generics and exception contracts, practice design patterns, compare an eager custom pipeline with Java Streams, and assemble an in-memory order engine with pricing, events and undo.
  • Machine Design with Python, Build and check mechanical designs with Python: stress and deflection, beams and shafts, spur gears and gear trains, cams, springs, and bearings. Finish by composing a single-stage gearbox design with component choices and explicit strength, stiffness and life checks under stated physical models.
  • Machine Learning in R, Learn predictive modeling in R through feature preparation, nearest neighbors, naive Bayes, trees, ensembles, clustering, PCA and evaluation. Build teaching-scale algorithms and compose fitted projects, using base R library routines for selected operations and independent comparisons. Finish with validation-based model selection and a reserved test evaluation.
  • Computational Neuroscience with Python, Learn Python through computational models of membranes, spikes, synapses, networks and decisions. Assemble a simulated spiking circuit with NumPy and examine what its outputs do and do not show.
  • Natural Language Processing, Build NLP components and working pipelines in Python and NumPy: tokenization, corpus vectors, fitted TF-IDF search, bigram models, Naive Bayes and logistic classification, spelling correction, HMM tagging, SVD embeddings and attention forward passes. Finish with a mini engine that searches, classifies and completes from fitted state. Implement the algorithms directly, with explicit assumptions and small reproducible data.
  • Operating Systems, Learn C through operating-system models: process state, scheduling, synchronization, allocation, virtual memory, replacement, files, I/O, a bounded command interpreter and an instruction-driven mini-kernel.
  • 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++, Learn C++ by building mobile-robot simulations: kinematics, sensor models, PID control, line following, occupancy mapping, path planning and an assembled navigation loop.
  • Systems Programming in Rust, Learn Rust through typed functions, ownership and borrowing, structs, enums, explicit error values, collections, traits, iterators and concurrency. Practice safe resource access and clear contracts, then compose a checked calculator and a persistent command-driven store. Native threading and optimization have costs and limits; correctness comes before performance claims.
  • Scientific Computing in Julia, Learn numerical methods in Julia: floating-point error, linear algebra, root finding, interpolation, quadrature, ODEs, optimization and Monte Carlo. Use Base Julia and the LinearAlgebra and Random standard libraries, then assemble and validate a heat-equation simulation with explicit assumptions.
  • Statistical Computing in R, Learn R through vectors, lists and data frames, then build probability calculations, descriptive summaries, tests, regression, resampling and time-series tools. Assemble an analysis pipeline with explicit data policies and honest statistical interpretation.