Every graduate-level course I've taken - what I actually thought of it, where I struggled, what stuck. These are candid notes for students who may be interested in these courses.
Easily one of the most practically dense courses I've taken. B+ trees, LSM trees, buffer pool policies, external merge sort, and query optimization — the kind of content that makes you realize how much engineering goes into something as "simple" as a SELECT statement. HW2 (AuctionBase) was a grind, but writing the JSON-to-SQLite parser from scratch genuinely clicked everything into place.
Covered the full sweep: kNN, decision trees, neural networks, PCA, k-means, hierarchical clustering, RNNs, LSTMs, CNNs. Heavy on theory with enough implementation to keep it honest. I found myself rebuilding intuition I thought I already had — the math behind backprop and PCA projections is humbling when you actually derive it. The clustering material hit different after using it in my own EEG work.
Brutal. MLE, MOM, sufficient statistics, GLRT, UMP/UMPU tests, Cramér-Rao bounds, Bayesian estimation, goodness-of-fit — the theory underpinning everything else I do. I won't pretend I didn't struggle with the proof-heavy problem sets. But by the end, hypothesis testing stopped feeling like a black box. If you want to understand why ML works, this is where you have to go.
Stochastic programming with GAMSPy — multi-stage production planning, job shop scheduling, and SVM formulations as optimization problems. The crossover with ML made this uniquely satisfying. My electrode optimizer (Locus) came directly out of this course and ended up as an open-source contribution to the GAMSpy-examples repo. Worth it for that alone.
Where the EEG obsession started. Spectral analysis, filtering, feature extraction, montage design — all the fundamentals that fed directly into Argus. The gap between "doing DSP in class" and "doing DSP on real clinical seizure recordings" is significant, but this course gave me the language to bridge it. Recommend heavily for anyone going into BCI or clinical AI.
Deep dive into GLMs, mixed-effects models, and hierarchical structures. The transition from fixed-effect thinking to modeling random variation as a first-class citizen was a genuine shift in how I approach any dataset. Variance components and REML estimation were the hardest parts — the matrix algebra is unforgiving — but it pays off the moment you're working with repeated-measures or nested clinical data. Directly applicable to EEG subject-level modeling.
Nonparametric inference, bootstrap and resampling methods, permutation tests, density estimation, and robust statistics. The bootstrap section alone changed how I think about uncertainty quantification — it's deceptively simple and extraordinarily powerful. The contrast with the parametric assumptions hammered home in 710 and 611 made this feel almost liberating. Good course for building statistical intuition that doesn't rely on normality as a crutch.
More statistically grounded than the CS machine learning offerings — classifiers treated as probabilistic models rather than black boxes. Bayesian classifiers, discriminant analysis, SVMs, feature selection, and the bias-variance tradeoff formalized properly. Taking this alongside CS 760 created useful friction: the two courses often covered the same algorithm from completely different angles, and reconciling those perspectives was worth more than either course alone.
Markov chains, HMMs, and the probabilistic foundations that connect classical sequence modeling to modern generative architectures. Watching VAEs and diffusion models derived from first principles — rather than just handed to you as APIs — was the point of the course. I came in skeptical that a stats department could do this topic justice and left with a much deeper appreciation for the probabilistic framing that most ML engineers skip. The HMM assignments were the highlight.
Hadoop, Spark, distributed storage, and the infrastructure concerns that become unavoidable once your data stops fitting in RAM. The gap between "running ML on a laptop" and "running ML on a cluster" is mostly an engineering problem, and this course demystifies it. HDFS and MapReduce as a foundation before Spark made the abstraction layers click. The moment Spark's lazy evaluation model makes sense is genuinely satisfying — it reframes how you think about computation entirely.
Search algorithms, constraint satisfaction, game trees, Bayesian networks, and the classical AI toolkit that predates the deep learning era. Taking this after already building neural networks was a strange experience — it's humbling to see how much mileage the field got out of A* and alpha-beta pruning before GPUs changed everything. A strong conceptual foundation that makes you appreciate why modern approaches work where classical ones hit walls.
Check back as I finish out the MS program through December 2026.