Context: I entered CMU with a good academic background in programming and math, but no math competition experience which some others found useful and a little less script kiddie ability than some.
Format: (Number, Title)
-
07-128 Freshman Immigration Course
This was a simple class intended only to expose freshmen to the different departments within the school. While not amazingly insightful, it was sometimes useful to have heard of these things, and with no tests or meaningful homework and only one class per week it added no stress.
-
07-131 Great Practical Ideas in Computer Science
This class used a number of short labs to help teach tools such as git and vim. This was not infrequently redundant with prior knowledge, but learning some bash scripting tricks was a good thing. Since the labs could easily be completed in class and the tests were easy, it didn’t hurt to learn a little.
-
15-051 Discrete Math Primer
Short online course completed over the summer which taught fundamentals of discrete math like propositional logic.
-
15-122 Principles of Imperative Computation
This class introduced some simple data structures and paradigms through the safe C-like language C0. While much of this was content I was already familiar with to varying degrees, it is the CS course that CMU does not let you skip. The course was structured fine though, so it was good for me to get more practice with C when we transitioned near the end of the semester and I solidified some useful concepts I had breezed over the first time I saw them.
-
15-151 Mathematical Foundations of Computer Science
This class primarily introduced proofs and various discrete math topics. Working through and writing up the weekly problem sets in LaTeX took significant time, except for those with significant math competition experience who often found it easier, but was the most enjoyable homework in the semester. All the TAs were top-notch which made the course run very smoothly.
-
16-161 Robotics Freshman Seminar: AI and Humanity
This class considered the ethical implications of technological advances, split among CS and humanities students. The professors were invested, leading interesting discussions. While I gripe that there was often more reading than necessary assigned which we never brought up in class, there are a lot of interesting issues to discuss in the area, which are always relevant to current events.
-
21-241 Matrices and Linear Transformations
This class taught linear algebra with an emphasis on applications to computer science. Offner was a great professor, who made the lectures and homework enjoyable, but was faced with a sort of impossible task of teaching a class, half of whom already knew linear algebra and half of whom did not. It was a fun refresher, but many found it did not get as far in abstract topics as their previous classes (admittedly partly intentional).
-
76-101 Interpretation and Argument
The first year writing course mostly needed to confirm that everyone could write well enough for future classes. Fundamentally I ended up feeling in all my classes that the standard for writing was no higher than it had been in high school so did not have too much difficulty, although enjoyed the presentation of the class nonetheless. Some sections were much harder than others.
-
99-101 Computing at Carnegie Mellon
Online course completed over the summer to teach basic use of facilities like printers and simple information security.