Back to blogs

Ranking My Classes At MIT

#Life#Opinions

DRAFT NOTE: will be adding more details later, this is a work in progress

Context

I had prior credit for:

  • 18.01 (calc I and II)
  • a bunch of useless humanities AP credit

I ASE'd:

  • 18.02 (calc III, which is multivariable)
  • 6.100A (intro cs)
  • 7.01x (bio)

Freshman Fall (2023)

18.03 Differential Equations

Looking back, I do sort of regret taking this but only because it was useless for my major, and I wasn't intentionally pursuing a math minor either. The class itself was taught okay. I'm not the type that can pay attention during long lectures, so most of my learning was during recitation or even while psetting with my friend in the class that I met during CPW.

6.1200 Mathematics for Computer Science (discrete math)

Very very fun class. All psets were Pokemon themed, the lectures were fun, and the content itself was really fun. I'm glad I took this on freshman PNR, 1) beccause it helped me unlock courses in the main sequence faster, and 2) because there were times where I threw psets/exams for no reason (laziness, I guess).

6.101 Fundamentals of Programming

This class was very well taught. One of the best classes imo, that gives you strong fundamentals and debugging skills in Python. The labs are all super fun and interesting. I later became an LA for this class.

6.100B Intro to Computational Thinking & Data Science

This class was in the second half of the semester and I didn't really learn anything that I didn't already know (I had some ML background from high school). As a result, this was a class where I showed up pretty much just to take exams, and to get checkoff at office hours.

8.01 Classical Mechanics

I had already taken calculus based physics in high school, so this was a review of that + more advanced topics. I remember being frustrated using MITx to learn the materials, because there were limited attempts that counted towards your grade, and sometimes you had to simplify really really bulky expressions down completely in order for it to count. We also did in-class problem solving in groups, and that was really fun since it's a chance to socialize and also be completely stumped and look like idiots together. Shout out to Mohamed, who made really well structured review materials and taught concepts in a super intuitive way. And Dourmashkin too, of course.

Freshman Spring (2024)

8.02 Electricity & Magnetism

Continuation of 8.01 that was structured the same way. I had a lot of fun yapping in this class (hi Joey!). I loved how helpful the TAs and professors were in helping you break down a concept or difficult problem.

6.121 Intro to Algorithms

Sort of a continuation to 6.120 in that it was structured sort of similarly I guess? This class is essential for general DSA knowledge.

6.102 Software Construction

In the pre-AI era, this class was a lot of work, but it was SO useful and interesting. You had to read an article that defined concepts in software in sort of a mathematical way, attend all classes in person to do pair programming, and do labs in which you had to do unit testing and were graded on tests that were only visible after the submission deadline (and also improve your code in a second beta phase after receiving comments). I had some really really dumb code review comments though. Pointing out a missing semicolon (and writing a whole explanation on the importance of it), or saying that more/less comments are needed, is not really constructive. Come on guys. You can make more insightful observations than that.

I was super proud of my work (I gave SO much insightful feedback, even going so far as to point out edge cases that my peers were missing so that they could get some points back), and did well on all the labs (some were decently interesting and others were more grindy). The quizzes though, I had absolutely no motivation to study for since I thought I could just wing them (and not practicing the types of edge cases you get on these completely blindsided me).

I found the concepts to be very helpful in how I thought of software during my internships, and I had a very very solid definition of code quality after this class. They even introduce you to the visitor design pattern, which I ended up using in 6.110 later. I found myself going to the class website to find particular articles when I needed to reference a concept even after I had taken the class.

6.1900 Introduction to Low-Level Programming in C and Assembly

Very fun class, good pace imo. You go through C in just a few lectures, and RISC-V assembly in another few. Joe Steinmeyer is a super great and engaging lecturer. The labs were also really cool.

21L.003 Reading Fiction: The Birth of the Global Short Story

I love reading and writing, and this class allowed me to do both, although I definitely preferred the reading part. In a lot of your classes, you don't get to regularly interact with the same people (this is one of the things I miss about high school), but in small humanities classes, especially CI-H's like this one (and language classes too), you really get to know people from speaking with them in-person almost daily during classes. I loved hearing other people's creative insights and takes on details from short stories we were introduced to around the world. Milan Terlunen was great, and he studied plot twists, so he had a lot of interesting insights on that.

IAP 2024

I did weblab, which was fun (+ free food). Two of my friends and I created a cute multiplayer, crayon-themed game with a live chat and music. We were told it was going to be awarded the Most Innovative UI but wasn't since we didn't include that on a google form (which would've been completely free to add, ugh). I wonder what has happened to this class ever since AI coding has gotten really good. Gone are the days of being stuck trying to integrate a tool without enough documentation.

Sophomore Fall (2024)

6.457 Creating Video Games

You start every class by playing a multiplayer game, then listen to lecture on super cool topics. You get to build 2 games with 2 different groups of people, on your game engine of choice (I used Unity both times, but Godot was also a popular choice). Loved this. I used this chance to finally learn how to use Blender.

6.191 Computation Structures

One of the best and most useful classes I took at MIT. The content included low level design of CMOS gates, adders, CPUs, operating systems, and cache coherence. The final project is an open-ended challenge to optimize a 32-bit RISC-V processor running a neural network. I spent so much time in the stata basement this semester because of this class. I felt like a vampire.

Me in 6.191 with a chalkboard of CPU datapath diagrams They were giving out free bobas and ice cream this day, on my way to the stata basement^^

18.C06 Linear Algebra & Optimization

I took lin alg in high school and really enjoyed it, so this class was mostly light work. Professor Johnson was not the best professor to learn this content from, imo, but you can tell that he is really passionate about what he does.

6.390 Intro to Machine Learning

Some of the psets in this class felt really grindy; I just remember having to spend so long tracking down mismatched parentheses in huge numpy expressions, or grindy linear algebra. The content is really interesting, especially transformers. You get to learn the architecture of early GPT models.

Here are some of the notes I used for this class: https://introml.mit.edu/notes/ https://web.stanford.edu/~lindrew/6.036.pdf A goated TA also wrote these notes: https://github.com/Shaunticlair/ml-textbook/blob/main/chapter%20pdfs/Explanatory_Notes_for_6_390_Fa24.pdf

6.104 Software Design (dropped)

This class really was a full time job, and was the only class at MIT that I thought had useless busywork. I pushed through this wayyy overloaded schedule until halfway through the semester, when participating in HackHarvard caused me to fall behind and not be able to catch up on the dang blog posts and other useless crap. I was glad they redesigned the class after this semester.

6.122 Design & Analysis of Algorithms (dropped)

Bruh I dropped this with 1 pset to go, 3 weeks from finals. Can you tell this semester was really getting to me? This semester was almost double the typical MIT courseload.

IAP 2025

pokerbots

Sophomore Spring (2025)

6.180 Computer Systems Engineering

18.600 Probability and Random Variables

6.110 Computer Language Engineering

x86

6.122 (round 2)

Junior Fall (2025)

6.1810 Operating Systems

24.900 Introduction to Linguistics

6.104 (round 2)

This time, the class underwent a major restructure, especially since it needed to adapt to using AI. The content felt a bit useless, though.

14.01 Principles of Microeconomics (dropped)

I took macro/micro in high school and really enjoyed it, and the professor that teaches this is really fun and engaging. I decided I wanted to pursue a humanities concentration that didn't have me doing psets and midterms, though.

18.404 Introduction to the Theory of Computation (OX'ed)

Interesting content; all lectures are recorded on OpenCourseWare, and I loved that there were only 6 short psets in this class. The compilers class actually speedran the first half of this class in the first week, since it was a direct application. I missed the final exam so it's on my record as an OX. If I go back and do it, I'll have a math minor, but I don't really care whether I have one or not.

https://math.mit.edu/~sipser/18404/

IAP 2026

Russian I

Junior Spring (2026)

6.5950 Secure Hardware Design

6.106 Software Performance Engineering

21G.612 Russian II

3.091 Introduction to Solid State Chemistry

Senior Fall (2026)

TODO

Senior Spring (2027)

TODO

My final tier list

https://tiermaker.com/single-use-tier-list/