Skip to content ↓
MIT blogger CJ Q. '23

How to decide which classes to take by CJ Q. '23

amazing classes and how to pick them

Continuing my tradition of posting appropriate blog posts five months in advance, here’s considerations on picking classes and schedules. This is mostly aimed towards first-years choosing classes for their first and second semesters.

See also: Cami’s post.

I have no clue and I need a schedule now

If you have absolutely no clue how to pick classes, or just want a starting point to jump from, here’s infallible advice:

person scratching head while looking at course schedule

this is still me

  • Pick a science General Institute Requirement, like 8.01 Physics or 18.01 Calculus. Getting at least one technical GIR out of the way in the first semester is good. First, you’re in P/NR; second, you get a good chance to meet other first-years; and third, you get a requirement out of the way.
  • Pick an intro subject in a major you’re interested in, like 6.0001 Intro to Programming in Python or 9.01 Intro to Neuroscience. The Office of the First-Year maintains a list of these kinds of subjects, but look into classes that aren’t on this list too. The best way to decide between majors is to take classes in them!
  • Pick a HASS class, like 14.01 Microeconomics or 24.00 Problems of Philosophy. You need to take a CI-H/HW class some time in your first year, so consider those. Also an opportunity to take something you’re interested in just because you’re interested in it. As the acronym Humanities, Arts, and Social Sciences suggests, there’s lots and lots of HASS classes, so you’ll definitely find something you’re into.
  • Pick another class in one of these three categories. Whatever floats your boat.
  • Mix and match until you get a suitable schedule. Go to a website like and look at your choices. Schedule checks: what’s your earliest class? Do you have time for lunch? How many back-to-back classes do you have, and how far are they from each other?

Academic considerations

GIRs and major requirements

  • You should be familiar with the GIRs. You should be paying enough attention to them that you should have (most of) the requirements memorized by the end of your first semester. The big requirements you should be paying attention to early on are the science GIRs and the CI-H/HW requirement.
  • Eventually, you will want to have a plan for when you’ll finish each part of the GIRs. Something like “I’ll take one science GIR per semester” and “I’ll finish my PE requirement by junior year” is good enough. This means you should know which parts of the GIRs you’ve done, and which parts you’re missing. You don’t need a plan immediately, but it’s a question your advisor will ask you eventually.
  • If you have a vague idea of what major you want, be aware of prerequisite chains. Some majors are famous for having several long chains, like Biological Engineering. (Good references for checking are CourseRoad and the degree charts.) You can still graduate with any major even if you don’t take anything major-specific for your first year, though, so don’t worry too much about it.

    a diagram with colored rectangles with arrows pointing to other rectangles

    this is based off the prereq chain for 20.375

Finding classes that interest you

  • Where do you find interesting classes? You’re in luck, because other people have written about this before. Some recent ones that might help are Life Changing Classes at MIT, Classes I Won’t Be Able to Take and Exploring Classes. My two cents is that you should read through the entire course catalog at least once in your life, and you’ll probably come out of it with a list of fifty classes that sound interesting.
  • The other way to find interesting classes is listening to street advice. Ask your friends what classes they’ve taken and liked, because your friends are more likely to be interested in things that you are. As a proxy for having friends, there are the subject evaluations; I personally prefer to look subject evaluations up through Firehose. There’s also OfCourse, a website that uses algorithms™ to recommend which classes to take based on classes you’ve already taken, which I think is pretty awesome. Pay attention, though, because the same class can vary a lot based on the professor teaching.
  • You can shop for classes. The best way to know if you’ll like a class is to take it. “Shopping” is the concept of going to more classes than you intend to and then choosing the ones you like most. Ideally, you’d do this by registering for more classes than you intend to take, and then drop the ones like you like least; for example, register for eight classes and drop four of them. As a first-year student with a credit limit, you’ll have to drop classes and then add new ones instead, but you can still definitely shop for classes.
person holding shopping bag with classes written on it

this is not what shopping for classes looks like

  • Pro-tip: for many large-ish lecture classes, you can show up to the first day of class even if you’re not registered for it. This helps when you’re shopping for classes, because then you’ll get to hear the professor talk about the syllabus and maybe lecture some intro material. You can do a surprising amount of things in a class without being officially in it; I’ve heard stories of people who’ve been in a class for three weeks before realizing they weren’t registered.

Practical considerations

Who is taking what?

  • Probably the most important practical consideration when taking classes is: what classes are your friends taking? It is generally a good idea to take classes with your friends! It gives you more time to hang out with them, which is good because there’s only so much time you spend with your friends in the first place. You get people to work with on homework for free. You have people to ask if you’re confused without having to go all the way to office hours. It’s amazing.
two people holding a document while sitting on a table

actual picture of me psetting

  • The hard thing is figuring out what classes your friends are taking. There have been many attempted solutions to this problem over the years. One thing common among my friend groups is to pass around a spreadsheet where everyone fills out what classes they’re taking. Another thing that happened was, an app where people add which classes they’re taking and share their list with groups of friends. I think it’s neat and wished more people used it. An infallible method is asking your friends.

Schedule checks

  • Ask yourself: when is your earliest class? Do you think you can wake up that early, and leave enough time to eat breakfast (please do) and walk to class?
  • Ask yourself: do you have time for lunch? Lunch is important and you should eat it. Where will you be eating lunch? Maseeh? The Student Center? Will you have time to walk there and then eat and then walk to your next class?
person looks at watch while in line to get food

lines for food can get long

  • Ask yourself: do you have enough time to walk between classes? Everything runs on MIT time, meaning classes start five minutes after they’re scheduled and end five minutes before they’re scheduled, so you have ten minutes to walk between consecutive classes. This is almost always enough. But be careful, because you might have management class in Sloan followed by an acting class in W97, and those are definitely not ten minutes apart.
  • Beware having overlapping classes in your schedule. This isn’t anathema; see e.g. the comments on this blog post. But this does mean you’ll be skipping some classes some of the time, which is generally not recommended. You should have an explanation for your advisor ready if you plan to take overlapping classes, and you should be aware of classes that may have mandatory attendance.
  • Other things to consider in your schedule: when is your latest class? Are you fine with any large gaps in between class in a given day? Are you fine with having back-to-back classes, if you have those? Did you leave time to take PE classes, if you want to, and time for other commitments like UROPs or clubs?


  • Cross-registration is cool, see e.g. How to (Im)properly Cross Register. Some considerations. Other colleges have wildly different academic calendars and deadlines than MIT does. Distance is definitely a thing, and even Harvard isn’t that close to MIT. Getting credit for it might be tricky. Ask your doctor advisor if cross-registering is right for you.

Workload considerations

Estimating workload and rules of thumb

  • Pay attention to hours listed in subject evaluations. Theoretically one unit is supposed to correspond to one hour of work, but this varies widely, and a twelve-unit class can average you anywhere from four to twenty hours a week. Course evaluations are a better gauge than units for estimating workload. Firehose helpfully includes this number as “hours” and even computes the total for you.
  • Leave space for other commitments. See for example the blog post 36 Units of Class. It helps to think of commitments as also having units attached. Being part of the Dormitory Council could be 12 units in of itself if you’re in an exec position, and the same counts for other extracurriculars. Think about UROPs and jobs and other things you’re doing.
  • My favorite rule of thumb: do at most seven things per semester. I don’t know where I originally heard this, but the rule is that each class counts as one thing, UROPs and jobs each count as one thing, while clubs and extracurriculars count as one thing if you’re involved enough. The magic number seven definitely varies person-to-person and with what things you’re doing. If you’re juggling too many things, don’t be afraid to drop some balls, even if it’s hard.
person juggling several balls while some fall to the ground

i should learn to juggle

Homework and projects and exams

  • Ask yourself: are you taking too many technical classes? The classification of a “technical class” differs person-to-person. One rule of thumb I’ve heard about math classes is that “you can only really learn from two math classes per semester”, and I agree with this. This probably applies to technical classes too. Beware of taking three or more technicals.
  • Count your final exams and projects. There’s nothing wrong with a semester where every class you’re taking has a final exam, but you should at least be aware of it! In Firehose, classes with final exams have “Has final” listed next to their units. Similarly, you’ll want to pay attention to which of your classes have big final projects, although it’s harder to tell which classes have those.
person scratches head while looking at final with equations flying in front of them

finals do be like that

  • Read the syllabi. Several classes will post the syllabus on the class website around registration period, and it’s a really helpful document! The syllabus will clarify how the class is graded, which is helpful for finding out how important the final is, if there’s a final project, when problem sets are due, the late submission policy, etc. One reason to add classes and drop them later is that you get to see the syllabi for all of the classes you’re enrolled in, which helps a lot in deciding between them.
  • With access to syllabi, you may also want to consider when problem sets are due, and how often they are. Some classes have psets every week, others have psets every two weeks, while others have even less frequent psets. You might want to avoid taking three classes that all have psets due on Thursday.