While a small number of classes offered in-person components, all learning I took part in this semester was conducted virtually through Zoom and similar mediums.
Additionally, after a semester of TAing I notice that most of my thoughts about classes have begun to lean towards how they could be improved and fixed for the future. Such is life.
Format: (Number, Title)
TA 15-251 Great Ideas in Theoretical Computer Science
Teaching online has been an interesting phenomenon. Student engagement is recitations is really hard to build and really easy to lose - especially when it’s normalized by every other class that they should be silent with their videos off. On the flip side, office hours were constantly swamped with students who were stranded at home with fewer other resources, and for whom joining the queue no longer required the effort of walking to the room where the TAs were that day. I’ve still got a lot to learn on how this better, but it was a fun class to TA regardless.
15-210 Parallel and Sequential Data Structures and Algorithms
My experience with the remainder of the CS core this semester was somewhat mixed. I respect and appreciate all of the professors and TAs for this class, who seemed to be trying their best to make it a worthwhile experience for the students, but I think much of this class is in need of restructuring. For a full semester algorithms class it seemed to teach remarkably little algorithmic content, held back by a need to focus on the exact implementations in its own custom SML library, and by the need to abide by the parallelism in its name. It certainly doesn’t help that without a clear prerequisite chain people could come into the class with wildly different backgrounds, and so like every other class, they felt a need to teach probability from scratch. I enjoyed the class and learned some useful content, but I’d like to see the class adopt more substantial programming assignments with a little less focus on SML and their libraries.
15-213 Introduction to Computer Systems
I finish this semester’s criticism of the CS core with 213. At the core of this class are some great assignments developed with the CS:APP book, that students learn a lot from and so have been widely adopted by systems classes in other universities. I definitely improved my implmementation and debugging skills by going through that, but that’s about where my positives end. In the years since their development, those assignments have been increasingly railroaded so that students are directed on exactly how to do each component, and in what order. While I have no doubt that this leads to more students passing the class, it cuts out what could once have been a valuable learning experience in system design. The class has added some peer-graded busywork, but otherwise been able to change very little due to the huge number of students it attempts to cater to across campuses, departments and levels. While the core of the class is super valuable, I’d like to see it drop some of the cruft and focus on improving and modernizing those essential components.
15-356 Introduction to Cryptography
Cryptography is a super interesting subject, and Vipul clearly knows what he’s doing, but at times this class felt like a half-semester mini that had been padded to fill the full length. We had no lectures on the first or last days of class, and despite having only two lectures per week, we would often use one up going over a homework after it had been turned in. I thoroughly enjoyed the lectures that we had as an interesting mathy subject with lots of real significance, but it felt like we got tired and ran out of stuff to cover when I know that the field of cryptography has a lot more than a semester’s worth of content and I just wish we had tried harder to pack the remainder in.
15-455 Unergraduate Complexity Theory
While a sort of niche and probably less useful topic, this was definitely my favorite class this semester. In general the CS theory professors seem to be of very high quality, and for me that usually matters more than the class itself. The homeworks and exams were interesting, and while I would really have preferred that they be graded in a more timely manner, this was a fun class.
84-104 Decision Processes in American Political Institutions
Registering for a class on politics that would span the presidential election seemed exciting. In that sense I was disappointed since the class mostly stuck with the content it had prepared and was within its textbooks. The professor certainly cared, and that makes a difference for me, but I think he stuck a little too closely to a high school schedule of assigned readings and quizzes when there was so much else interesting going on in the world.
98-317 Hype for Types
I haven’t yet taken any other student taught courses, but I was impressed by the organization of this one. Type theory is interesting, and the lectures and assignments were well prepared and thought out, even if I wasn’t always able to give them as much time as they probably deserved.