Course Reviews

My thoughts on the various classes I've taken or am currently taking at Carnegie Mellon, grouped by subject area. These are my subjective opinions more than anything else.


Electrical and Computer Engineering (ECE)

18-100 Intro to Electrical and Computer Engineering

All ECE first-years are required to take this course. It provides a comprehensive overview of the fundamental concepts in the field. The main feature is the labs, which for the most part were well-designed and fun. The weekly small group sessions were also a good feature for reinforcing the material. Also, Jimmy Zhu is a great lecturer, and is somewhat of a godfather figure within the ECE department. I would say this class has been, so far, one of my favorites, and it helped confirm my interest in ECE.

18-213 Intro to Computer Systems

Review coming soon...

18-220 Electronic Circuits and Analog Devices

Currently taking

18-240 Structure and Design of Digital Systems

Review coming soon...

18-290 Signals and Systems

Review coming soon...

18-349 Embedded Systems

Review coming soon...

18-447 Computer Architecture

Review coming soon...

18-740 Modern Computer Architecture

Currently taking

Computer Science (CS)

15-122 Principles of Imperative Computation

This courses teaches how to think critically about your code, as well as introducing the C programming language and some basic data structures and algorithms. The content is thorough and decently challenging, but I definitely learned a lot from this course. It's a very well-run ship, and there are plenty of office hours and resources available to help you succeed. Students have some strong opinions on Iliano as a lecturer, but I personally thought his lectures were fine.

15-418 Parallel Programming and Computer Architecture

Currently taking

15-440 Distributed Systems

Review coming soon...

Robotics

16-385 Computer Vision

Review coming soon...

16-831 Robot Learning

Review coming soon...

Math

21-127 Concepts of Mathematics

This class is an introduction to discrete/formal math, and covers topic including logic, set theory, number theory, and combinatorics. I found this class to be quite difficult, especially given I had no prior experience with proofs. Some question why this class is required for ECE majors, but I think it provides a strong mathematical foundation, even if you don't end up directly using discrete math later on.

21-241 Matrices and Linear Transformations

Like Calculus 3, this is a standard linear algebra class. I do wish there was some more focus on real-world applications instead of just pure computation.

21-259 3D Calculus

A pretty standard Calculus 3 course contentwise. It is mostly computation-based, so take a different class if you want to do serious proofs. For ECE however, this class definitely covers what you need to know.

21-260 Differential Equations

Review coming soon...

36-225 Probability Theory

Review coming soon...

Mechanical Engineering

24-101 Fundamentals of Mechanical Engineering

Students in the engineering college must choose a second engineering intro course, so I took this one. It gave a solid overivew of the fundamentals, and some of Professor Aksak's lectures were interesting (particularly when he was discussing his research). I did like that they taught us some basic CAD and rapid prototyping skills. However, if you have prior experience with CAD or programming, the labs can feel a bit basic.

History, Psychology, and Writing (Gen-eds)

76-101 First-Year Writing

All first-years are required to take either this course or two of the three available half-semester writing courses. It's a decent but not super rigorous course on academic-level writing. My professor in particular was quite lenient with grading. Each section studies a different topic, so pick one that interests you!

79-302 Killer Robots

Currently taking

79-345 Roots of Rock and Roll

Review coming soon...

85-107 The Psychology of Video Games

This was a fun class. It explored the psychological principles behind game design and player engagement, as well as some concepts from experimental psychology. And, you literally get to play video games for some of the assignments! Erik Thiessen is a great professor, and does a fantastic job of making the material engaging. I highly recommend this course, even if you aren't a fan of video games.

StuCo (Student-taught Courses)

98-008 StuCo: Intro to Rust Lang

Review coming soon...

98-012 StuCo: Fun With Robots

This was the first StuCo (student-taught course) I took, and I really enjoyed it. You are given a robot kit, and throughout the course, you get to assemble and program it to complete various challenges. You also get to keep the robot at the end, which is very cool. The content is approachable and suited for students of all backgrounds. In fact, I enjoyed this class so much I ended up being a TA the following semester, and now I am one of the instructors.