cmu courses

reviews of each of my semesters at Carnegie Mellon University.

My page is inspired by Abigale Kim’s courses page.

Typical disclaimer that opinions are mine and do not represent the opinions of my employer/college.

Fall 2026

11-324 Human Language for AI (w/ Lori Levin)
15-451 Alg. Design & Analysis (w/ Danny Sleator & Jason Li)
85-213 Human Info Processing & AI (w/ John Anderson)
85-426 Reverse Engineering the Mind (w/ Jenelle Feather)
88-230 Human Intelligence & Human Stupidity (w/ Daniel Oppenheimer)

Reflection

Coming after this semester

Spring 2026

03-363 System’s Neuroscience (w/ Eric Yttri)
10-301 Into to ML (w/ Matt Gormley & Pat Virtue)
15-210 Parallel & Seq Data Structure & Algorithms (w/ Daniel Anderson & Danny Sleator)
15-494 Cognitive Robitics (w/ Dave Touretzky)
33-104 Experimental Physics (w/ Sufei Shi)
98-317 Hype for Types (w/ Samson Rozansky & Shira Rubin)

Reflection

  • Dr. Eric Yttri, orof of 03-363, is amazing. I’ve worked with him and find him very thoughtful and a great teacher. In this class, it can at times be hard to determine exactly when you need to know specific details and when you need to just understand the general idea of things. I personally found his exams tough because I was at times required to both recall specific details and integrate information from different units even. But that toughness is exactly what you want to be pushed to get a good understand of systems neuroscience. I found the weekly assignment to write a short quiz to be really smart. It allows us to put low effort into it if we must, for whatever reason, but if you do wish to get the most out of the class and put effort into it, you push yourself to think about the content not as a student, but as a teacher, and I found this to support my learning really well.
  • 10-301 was interesting because of the sharp dichotomy between the teaching of the profs. I found Dr. Matt Gormley to be very engaging and clear, Dr. Pat Virtue at times, while I can tell means very well, seemed to struggle at times. I believe he thinks about things very visually which makes it a bit hard for him to convert his ideas in smooth clear language. He also would repeat a point many times in attempt to make sure the students understand, but sometimes it was either excessive and time consuming or just dancing around the idea with analogies when a student just wants to get into it already. The course itself I found to be structured really well, the policies very thought out, and the content engaging and relevant. I would recommend this class even if you’re familia with ML to make sure you get a strong foundation.
  • The dichotomy between the teaching of the profs was even greater in 15-210 than 10-301. Dr. Daniel Anderson is a fantastic teacher. Up there for one of the best teachers I’ve had at CMU. Dr. Danny Sleater, however, took a long time for me to warm up to. I struggled many times to understand what he was saying and found the lecture notes far more useful. He appeared unorganized at many times too. I will say, however, nearing the end of the semester, I found it much easier to understand and learn from him. Maybe he changed, maybe my familiarity with the content helped, that is unclear. His class too can at times be funny. So if you begin taking a course with him and find it very rough, give it time. I also really enjoyed getting to learn and use c++ in my assignments. I recommend doing the HWs in c++ if you’re not already familiar with it because it’s a good new thing to learn, but also for loops :)
  • 15-494 was a really fun class. The exams/quizzes seemed to just test my ability to memorize the content from the class and whether I actually paid attention. They never seemed to be too hard but made sure I actually took the lectures seriously and showed up. The highlight of this class is getting to work with the cute robots in the AI makerspace and eventually making your own project with them. If you want to get a class where you actually build something real, cool, and interacts with you physically without it being too much work, this is a great fun class.
  • I took 33-104 because my friends were taking it, and I cannot stress how important it likely is to take a lab class with your friends. In this class I did struggle quite a bit on the lab reports compared to peers in other sections. It seemed like maybe we were graded pretty strictly compared to the other sections, but it was all fine in the end. Not a class I really enjoyed, had a lot of just writing reports, but it was nice to get it out of the way.
  • 98-317 was HYPE - Loved this class so much I decided to teach it next semester! Absolutely amazing student teachers. They’re funny, engaging, and clear. I cannot give them enough compliments. I strongly recommend taking this class, even if you dont know much about math and CS (you will still be fine if you pay attention). You will have a great time and learn a lot.

Fall 2025

15-213 Intro to Computer Systems (w/ Phillip Gibbons & Brian Railing)
15-259 Probability & Computing (w/ Feras Saad & Weina Wang)
17-363 Programming Language Pragmatics (w/ Jonathan Aldrich)
76-270 Writing for the Professions (w/ Alan Kohler)
85-170 Foundations of Brain and Behavior (w/ Jonathan Tsay)

Reflection

  • 15-213 is a great class that really surveys different aspects of systems so you’re bound to eventually find something you like. I personally enjoyed datalab and bomblab, but each person finds their favorite. Be prepared to write organized, modular, documented code as you’re working from the beginning or else expect to spend many hours debugging your code. I found most labs can actually be done much faster than expected if you’re organized and methodological.
  • 15-259 was pretty tough at first. The class assumes you have a good handle of all prerequisite knowledge, so make sure to brush up on calculus and series. Also, the textbook by Mor is such an asset, make sure you use it and read every chapter assigned to each class even if you showed up to lecture that day. I wish there was more of an emphasis on the “computing” part of PnC, but I still realy enjoyed this class.
  • 17-363 was a really nice class. The professor is such a nice guy, I felt bad for missing some of his lectures. The content switches back and forth between formal proofs and practically implementing a working compiler. I learned a lot in this class and didn’t feel like it was too intense as long as you pay attention in lecture.
  • 76-270 was a chill but still pretty educational class. The professor is really an amazing teacher, kind, and takes feedback from students seriously. Try to enjoy this class first and foremost, it’s not supposed to eat much of your time.
  • 85-170 FOBB was so amazing!!! JT is an amazing teacher and he really cares for each one of his students. He uses demos to help solidify understanding but also memory of the topics. A good strategy for this course is to show up every lecture, give your full attention (don’t take heavy notes), and ask questions. Ask clarifying questions when needed but also ask more complicated questions about implications of what you learned. This is a really fun and fascinating course, so try to make the most of it, especially since it’s not much work at all.

Spring 2025

21-266 Vector Calc for CS (w/ Clive Newstead)
15-251 Great Ideas in Theoretical CS (w/ Anil Ada and Feras Saad)
15-150 Principles of Functional Programming (w/ Dilsun Kaynar)
15-386 Neural Computation (w/ Tai-Sing Lee)
79-281 Intro to Religion (w/ Alexandra Garnhart-Bushakra)

Reflection

  • Before starting 21-266, I heard some bad things about it. I was told it was going to be unreasonably hard and that the professor is out to get you. Having finished the class, I strongly disagree. We were pushed to not just solve problems following algorithms we learned but to actually think about things geometrically. It felt like a significant portion of the learning was done through HWs, which I for one really appreciate. That said, I took 3D calc in HS (without any linear algebra which is extensively used in 21-266), which could have helped me see through the struggles.
  • My favorite class this year was 15-251. It was as if one took all the good parts of Concepts and put it into a class. We were exposed to a wide range of different “great theoretical ideas” and I found each lecture to be AMAZING and well done. Too much to be said, just take the class!
  • I had a rough relationship with 15-150. The professor is really nice and wonderful but I regretfully couldn’t bring myself to pay attention in class. The class generally felt like I was being walked through documentation and not actually fundamentally teaching me new skills, that said, I probably did work on my existing skills and perhaps new ones, but I certainly didn’t feel it. In addition, I felt like the grading was often too pedantic and unreliable which also affected my relationship with this class. I did well, however.
  • 15-386 was certainly a very interesting class and if you’re interested in neuroscience and computer science, I highly recommend. At many times, I found the professor to be unengaging, however he’s very nice and very open to feedback (he incorporated my feedback into his lessons which I found very useful). The HWs will often focus on a specific lecture in the past few weeks but the other lectures are a) very interesting to learn about from a biological and cs pov and b) will be useful for the exams. He made it easy to do well in the class and had many chances to get extra credit through further exploring and experimenting with the ideas learned in class which was really fun and pushed me to think about how we can test these tools to better understand them. The textbook we used, Trappenberg, was also well made and explains many more topics if you’re interested in this field.
  • I’m really interested in religions and so 79-281 made sense to take as a gen ed. The content was all very interesting and thought provoking, though I often felt lectured without the ability to ask questions in class due to a number of reasons (not being noticed and not finding a good time, for example). I still really enjoyed the class and found the essays fun to write.

Fall 2024

21-241 Matrices and Linear Transformations (w/ Jonathan Simone)
15-151 Concepts / Mathematical Foundations for CS (w/ John Mackey)
15-122 Principles of Imperative Computation (w/ Anne Kohlbrenner)
76-101 Interp. & Argument (w/ Chad Szalkowski-Ference)
07-131 Great Practical Ideas in CS 07-128 Freshman Immigration.

Reflection

  • I had an amazing time in 21-241. Dr. Simone is a fantastic teacher and explains things very well. This class also had a final project component where we made something using ideas we learned in class. I made a project about visualizing 4D shapes in 2D (on screens) - it was fun!.
  • 15-151 was my favorite class this semester. Dr. Mackey is a beyond amazing teacher and he really cares about each student. This class revolved around proofs which was a bit new to me but I absolutely enjoyed it immensely.
  • I found the programming HWs in 15-122 fun and useful even if they seemed long. The weekly checkin/quiz system was also very useful and I found myself less stressed over the semester and didn’t need to study as much for the final. The class taught me principles that are really important, but nothing was really conceptually hard. That said, the class is still pretty hard since there’s a lot to do.
  • 76-101 wasn’t a class that took a lot of my time. The professor was nice and very engaging but I don’t feel that I walked away from the class having learned anything, just more practice with writing.
  • 07-131 had some content that I found very useful, but a lot of it was something I already knew. I would say that since this class takes very little commitment, if there’s a topic that you don’t know or want a refresher on, it doesn’t hurt to throw this into your schedule.
  • 07-128 is the SCS freshman immigration course. There is not much to say here.