Coursework


UC Berkeley EECS, by semester, with what each course actually involved building.

Summer 2026 · in progress


CS 184 , Foundations of Computer Graphics

Three renderers in eight weeks: a rasterizer with supersampled antialiasing and trilinear mipmap filtering, a half-edge mesh editor with Loop subdivision, and a path tracer. The path tracer's bounding volume hierarchy is the number worth quoting, the course's reference render of cow.dae drops from 40 seconds to 0.173 seconds once the BVH is in.

CS 161 , Computer Security

Seven memory-safety exploits written against vulnerable binaries, several of them against enabled stack canaries and one defeating ASLR by brute force. Then an end-to-end encrypted file-sharing client in Go, graded against a hidden adversarial test suite rather than a functionality checklist.

Taken alongside the Altametrics machine learning internship.

Spring 2026


CS 186 , Introduction to Database Systems

Database internals from the storage layer up, built into a working relational engine: B+ tree indices, the join algorithms and external merge sort, a cost-based query optimizer, multigranularity two-phase locking, and ARIES crash recovery.

CS 168 , Introduction to the Internet: Architecture and Protocols

How the internet actually works, implemented rather than described, routing, transport reliability, and the layering that holds the whole thing together.

Also: Careers in Biotechnology (BIOENG 25) · Supervised Group Study (CHEM 98) · Directed Group Study (GEOG 198).

Fall 2025


CS 188 , Introduction to Artificial Intelligence

The Pac-Man project sequence: search and heuristic design graded on node-expansion counts rather than just correctness, adversarial search with alpha-beta pruning and expectimax, value iteration and Q-learning, and probabilistic inference over Bayes nets, HMMs and particle filters.

CS 70 , Discrete Mathematics and Probability Theory

Proof-based, no programming. Induction and stable matching, modular arithmetic through RSA, polynomials over finite fields and Berlekamp-Welch error correction, then discrete and continuous probability, concentration inequalities, and Markov chains.

Also: Virtual Communities and Social Media (SOCIOL 167).

Summer 2025


CS 61C , Great Ideas of Computer Architecture

C and RISC-V assembly down through the memory hierarchy, ending in a 32-bit RISC-V CPU built from gates in Logisim, 36 instructions, single-cycle, then re-architected into a two-stage pipeline. In an eight-week session, the gap between the single-cycle deadline and the pipelined one is about a week.

Taken alongside the Altametrics machine learning internship.

Spring 2025


CS 61B , Data Structures

Four Java projects, two of them substantial: a corpus-query engine over roughly 300 MB of Google Ngram data under a 60-second load ceiling, and a procedurally generated 2D world engine demonstrated live to a TA. The deque project earlier in the term is graded by an autograder that empirically verifies your asymptotics rather than trusting your claims about them.

EECS 16B , Introduction to Circuits & Devices

RC and RLC transients, phasors and impedance, filters, poles and zeros, op-amps. Four directed labs, then an open-ended design problem weighted at double any of them: specify a treble boost guitar pedal to meet a set of specs, confirm it in SPICE, then build it and verify it on the bench.

Also: Social Implications of Computer Technology (CS 195) · Social Psychology (SOCIOL 150).

Fall 2024


CS 61A , Structure and Interpretation of Computer Programs

Abstraction, recursion and higher-order functions, then object orientation, ending in a Scheme interpreter written in Python, the evaluator, the environment model, and the special forms. The largest single assignment in the course.

EECS 16A , Designing Information Devices and Systems I

Linear algebra taught through four things you build: an audio fingerprinting system that identifies a song from a spectrogram constellation map, a single-pixel camera that reconstructs an image by solving a 1200×1200 linear system, an acoustic positioning system that localizes a microphone from six speakers, and a voice classifier built on PCA via the SVD.

Also: The History of American Capitalism (HISTORY 133A).

Key concepts


Machine Learning Time-Series Forecasting Reinforcement Learning Bayesian Inference Particle Filtering Linear Algebra SVD & PCA Monte Carlo Methods Ray Tracing Query Optimization Concurrency Control Crash Recovery Computer Architecture Pipelining Memory Safety Applied Cryptography Network Protocols Signals & Systems

Languages & tools


Languages, Python, Java, C, C++, Go, SQL, JavaScript, RISC-V Assembly, Scheme, R

ML & data, XGBoost, LightGBM, CatBoost, Prophet, TimesFM, scikit-learn, Pandas, NumPy, SciPy, Matplotlib

Systems & tools, Git, Linux/Bash, GDB, Valgrind, REST APIs, Logisim Evolution, SPICE, Onshape, VS Code, IntelliJ