CMU Course Reviews
This post is still a work in progress
The courses are mostly ML, Systems related. Each course is rated on the basis of assignments, exams and most importantly the learnings generated from taking this course – which although is subjective, I believe it is somewhat transferrable to those with a similar background.
Spring 2025 (5 courses - ML, Systems)
15645 Database Systems
Hardest course I took at CMU yet, enjoyed it thoroughly. This is not
a classical database systems course, it involves building your own
database system from scratch in pure C++. The programming projects
require a decent background in C++, including understanding of move
semantics, and advanced concurrency primitives. (For example, in one of
the optimizations for P1, you might have to rewrite your own version of
std::promise
)
This course can be really taxing since it involves written assignments each week or so, 4 programming projects with each one usually requiring a week of continuous effort or more and 2 exams (a midterm and a final)
Time Taken: I spent nearly 80% of my time on this course during the spring semester (whilst doing 5 courses)
Instructor: The GOATs of DB – Jignesh Patel and Andy Pavlo
Course rating: 10/10
Learnings Generated: 10/10
15513 Computer Systems
A wonderful course on systems introducing you to a variety of
different ideas including virtual memory, signals, multithreading,
synchronization, memory allocators, file systems, networks. As you can
imagine, the course can take a lot of time if you haven’t taken any
other systems courses before. Some famous labs include writing your own
memory allocator (like malloc
), and building a simple
file-system(with concurrency). You will also learn x86-assembly in the
first part of this course
This course is necessary to unlock access to other more advanced systems courses
Time taken: 5% of my time in the semester
Instructors: dga, beckmann and ranshya ware
Course Rating: 10/10
Learnings Generated: 8/10 (for grad students, its a bit lesser)
10708 Probabilistic Graphical Models
This is the best machine learning department course I have ever done, It is a beautiful inter-weaved course of programming and mathematics. You start off covering graphical models and then move to markov chain monte carlo, metropolis hastings, variational inference, score matching, Diffusion, GANs and cover the gory math behind it all. The instructor for this course is exemplary – Andrej Risteski is basically a math god, who provides intuitive explanations to the most complicated ideas (for example: Ito diffusion). He is an excellent lecturer.
Time Taken: 2.5% of my time in the semester (got an A+) (I happen to come from a very mathy background)
Course Rating: 9/10 (they could make it harder)
Learnings generated: 11/10 (you learn a lot of new ideas in this course)
36709 Advanced Statistical Theory
This course covers Asymptotic Statistics by Van der Vaart, during my iteration, it was taught by Dr Yandi Shen. The majority of your grade for this course is the homework assignments and the midterm and the final. The exams are easy if you attend the lectures attentively. There are also grade bumps for scribing. The course covers ideas like efficiency, Local asymptotic normality, optimality and also bayesian inference t(bvM theorem) towards the end.
Time taken: 2.5% of my time in this semester
Course rating: 9/10 (could have made the lectures more engaging and intuitive)
Learnings generated: 10/10 (new ideas in this course, not a standard statistics course at all)
15642 ML Systems
This relatively new course attempts to touch systems optimizations made to run large ML models efficiently. It talks about all the different types of optimizations (like FlashAttention), model parallelism, pipeline parallelism – then they move on to efficient inference where they talk about speculative decoding in detail. The assignments for this course are fairly simple, and the majority of the grade is based on the final project