The university was forced to go online midway through the semester by the coronavirus outbreak, therefore some opinions will be influenced by a class’s ability to transition smoothly to online learning.
Format: (Number, Title)
-
TA 15-122 Principles of Imperative Computation
As a new TA, I taught two lab sections, held office hours, graded homeworks, tested and proctored exams, and more. I found TAing to be a highly rewarding experience since it gives a chance to help and get to know so many other students, and 15-122 with its large (34-ish TAs?) course staff and great organization (thank you Iliano and lead TAs!) was a really good place to start that journey.
-
15-150 Principles of Functional Programming
Teaching functional programming so early and prominently is pretty unique to CMU, and definitely a fun idea. It’s good that we’re not immediately locked into a specific language to become experts in, and instead learn a variety of programming paradigms. I had a few gripes with this class, including that it did not really take its prerequisites seriously so ended up re-teaching a lot of basic induction content, and that it frequently released unpolished homework assignments with errors that had to be corrected later, but it transitioned to online learning really well, doing some of the best online exams I’ve seen.
-
15-251 Great Ideas in Theoretical Computer Science
This introductory CS theory course is frequently cited as being one of the hardest in CMU’s core CS curriculum, but with a little background in some of the topics and a great group to work through the problem sets with I found it to be a great course and not quite that scary. Due to its somewhat unique formats it had a slightly more difficult time than others transitioning to online learning however: it was a little hard for our group to keep meeting when in different time zones.
-
15-252 More Great Ideas in Theoretical Computer Science
This was a super fun addition to 15-251 going just slightly more in depth or exploring tangentially related topics to each week’s 15-251 content. Lectures went quickly, but were super engaging.
-
15-281 Artificial Intelligence: Representation and Problem Solving
While slightly less of a standard freshman course, there were a number of us who took 15-281 an it seemed to fit pretty well. The assignments and material in general were all well designed, although I felt the course hampered itself a little by trying to stick too closely to the Russel and Norvig textbook, which had some content on searching slightly duplicative of what we had learned in 15-122.
-
21-268 Multidimensional Calculus
Quite surprisingly, since I had already taken a multivariate calculus course in high school and this isn’t even CMU’s hardest version of the class (see 21-269), this turned out to be my hardest course of the semester. I learned a ton, but theoretical problems took way more time than I was expecting, and many a late night was spent with my friends in the class (bless the lenient collaboration policies, they were very much needed).
-
80-100 Introduction to Philosophy
Philosophy was full of CS majors finishing their gen eds, but led to a number of interesting discussions regardless. I think the class was structured well, and have to give credit to the professor for being very flexible in adapting to online classes, trying to replicate what we had and accommodating any difficulties. I overall enjoyed the format of many short writings without huge essays.