Starting fall 2022, EECS will have one new undergraduate degree program (6-4 Artificial Intelligence and Decision-Making) and two revised degree programs (6-2 and 6-3), in addition to the existing programs 6-1, 6-7, 6-9, 6-14, and 11-6.

    This page answers some common questions about the transition to the new degrees.

    Choosing and switching degree programs

    Which degree requirements you can use:

    • If you are currently enrolled in Course 6, you can continue with your existing degree, or you can choose to switch to one of the new or revised programs. Use the dropdown menu on your EECSIS degree checklist to see how the subjects you’ve already taken can be counted against the requirements of one of the new degrees (6-2_2022, 6-3_2022, or 6-4_2022).
    • If you are just joining Course 6, you can choose from any of our degree programs: 6-1, 6-2, 6-3, 6-4, or the interdepartmental programs 6-7, 6-9, 6-14, and 11-6.
    • If you choose 6-2 or 6-3, and your first undergraduate semester at MIT was before Fall 2022, then you can choose either the old (2017) requirements or the new (2022) requirements.
    • If your first undergraduate semester at MIT is Fall 2022 or later, then you cannot choose the old 6-2 or 6-3 degree programs from 2017, only the revised 2022 versions.

    How to switch from an old degree to a new degree:

    • If you are currently 6-2 or 6-3, you can use your EECSIS degree checklist to switch to the new version of your degree program (6-2_2022 or 6-3_2022). You can undo this change, but once you have added yourself to the degree list for graduation in your last semester, you will no longer be able to change the version of your degree program.
    • To switch to a different degree program, such as 6-4, submit a change of major request. 6-4 will be available as a selection starting Fall 2022.

    Introductory subjects (6.01, 6.02, 6.03, 6.08)

    • The introductory-subject requirement may be satisfied by any EECS elective subject.

    The 6-1, 6-2, and 6-3 degree programs from 2017 require an introductory subject (one of 6.01, 6.02, 6.03, or 6.08). Since these subjects are not part of the new or revised 2022 degree programs, they may no longer be offered in the future. If you are in a 2017 degree, you can use any EECS elective subject as a substitution for the introductory-subject requirement. This will happen automatically in your EECSIS degree checklist; you don’t need to petition for it.

    6.1900[6.0004] and 6.1910[6.004]

    • Starting spring 2023, 6.1910[6.004] will require a new course 6.1910[6.0004] Introduction to Low-level Programming in C and Assembly as a corequisite.
    • The old version of 6.1910[6.004] will be taught for the last time in fall 2022.
    • 6.1900[6.0004] is a half-semester course with sections taught in both halves of the semester, and you will be assigned to either the first or second half in order to balance section sizes.

    In the new 6-2 and 6-3 curricula, 6.1910[6.004] is changing to require a new corequisite, 6.1900[6.0004] Introduction to Low-Level Programming in C and Assembly.

    The old version of 6.1910, requiring only 8.02 and 6.100A[6.0001], will be taught for the last time in fall 2022.

    The new version of 6.1910, additionally requiring 6.1900, will be taught starting spring 2023.

    The 6.1900 corequisite is a 6-unit half-semester subject, which will be offered during both halves of fall 2022, and at least the first half of spring 2023. The C and assembly-programming material in 6.1900 is needed for the second half of 6.1910, so it’s possible to take 6.1900 as a corequisite with 6.1910.

    Here are three ways to take 6.1910 in the transition year:

    • 6.1910 in fall 2022. Current version of the subject, no C or assembly experience required.
    • 6.1900 in fall 2022, followed by 6.1910 in spring 2023.
    • 6.1900 concurrently with 6.1910 in spring 2023.

    In future years, we expect to offer 6.1900 during both halves of the fall semester, but not in spring semesters. So here are two patterns for taking 6.1900 and 6.1910 in the future:

    • 6.1900 in the fall, concurrently with 6.1910.
    • 6.1900 in the fall, followed by 6.1910 in the spring or a later semester.

    Since 6.1900 is taught in both halves of the semester, you will be assigned to a section in either the first or second half. Here is how to sign up:

    1. Preregister or register for 6.1900.
    2. You will be asked about your constraints and preferences for first half vs. second half. (For example, if you need to take 6.100A[6.0001] in the same semester, you will be assigned to a section in the second half of the semester, so that you can take 6.100A first. If you are taking 6.1910 in the same semester, you will be assigned to a section in the first half of the semester, so that you will be prepared for 6.1910’s second half.)
    3. Before the semester starts, you will be assigned to either the first half or the second half. (Because 6.1900 uses hardware and lab space, there is a need to balance section sizes, so it may not be possible to give everyone their first choice.)

    Although 6.08 is listed as a possible prerequisite for 6.1910 in the coming year, it provides only C programming experience, and no assembly language. Unless you have assembly experience from elsewhere, it is strongly recommended that you take 6.1900 first, or else take the old version of 6.1910 in fall 2022.

    6.120A[6.042A] and 6.1210[6.006]

    • 6.1200[6.042] will have a new 6-unit alternative, designed only for 6-2 majors planning to take only 6.1210[6.006].

    The new 6-2 curriculum introduces 6.120A[6.042A], a 6-unit half-semester subset of 6.1200[6.042] Math for Computer Science. Compared to the full-semester version, the half-semester version covers less material, to a shallower depth, and with less time for practice and feedback of proof writing. Either subject may be used as a prerequisite for 6.1210[6.006], but only the full-semester 6.1200 would prepare you to go on to higher-level theoretical computer science courses.

    • The half-semester 6.120A version is appropriate for you only if you are a 6-2 major and 6.1210[6.006] is the last computer science subject you expect to ever take.
    • If you are a 6-3 or 6-4 student, the full-semester 6.1200 is required for your degree.
    • If you want to go deeper into computer science, then the full-semester 6.1200 is essential grounding for all subsequent theoretical computer science courses.
    • When in doubt — especially if you think you might go deeper into CS, or might become a 6-3 or 6-4 major — take 6.1200, not 6.120A.

    18.03 and linear algebra, 6.2000[6.002] and 6.3100/2[6.302/320]

    • 6.2000[6.002] and 6.3100/2[6.302/320] no longer require 18.03 as a prerequisite.
    • 6.3100/2[6.302/320] now requires linear algebra as a prerequisite.

    The new 6-2 curriculum does not include 18.03 among its math electives, so starting fall 2022, both 6.2000 and 6.3100 will no longer require 18.03, and will instead cover the necessary differential-equations material needed to solve problems in the course.

    However, 6.3100 is changing to expect linear algebra (18.06 or 18.C06) as a prerequisite, starting fall 2022.

    6.3900[6.036] requires linear algebra and more programming

    • 6.3900[6.036] will require linear algebra and a higher-level programming course as prerequisites.

    In the new 6-4 curriculum, 6.3900[6.036] is changing to expect linear algebra (18.06 or 18.C06) and a higher-level programming course (either 6.1010[6.009] or 6.1210[6.006]) as prerequisites, starting fall 2022.