Frequently Asked Questions

Where can I find information about the new introductory sequence?

You can find an announcement about the new introductory sequence here.

I have started one of the current introductory sequences (CS 120s, CS 150s, or CS 160s). Will I be able to finish?

The 120s and 160s will not be offered after Spring 2022. The Department will, however, offer CMSC 15200 in Autumn 2022 and CMSC 15400 in Autumn 2022 and Winter 2023 to allow students to complete the 150s.  Students who completed CMSC 12100 and had planned to take CMSC 12200 in Winter 2023 may take CMSC 15200 in Autumn 2022 or CMSC 14200 in Winter 2023 (or later).

I have started one of the current introductory sequences, but I cannot complete it on the timeline listed above. How can I resolve this problem?

Please contact Adam Shaw or Anne Rogers for guidance.

I was planning to take Introduction to Data Science 1 and 2 (DATA 11800 and DATA 11900). Will this change have an impact on me?

No. DATA 11800 and DATA 11900 will still be offered.

Will CMSC 14100 assume any prior experience in computer science and/or programming?

No, CMSC 14100 is designed solely with beginners and newcomers in mind, regardless of intended major.

What if I do have prior experience in computer science? Do I need to start in CMSC 14100?

No, the Department will offer two placement exams–one covering the material in CMSC 14100 and 14200 and a second covering the material in CMSC 14300 and CMSC 14400–starting in Summer 2022. Please register here to be notified when information about the exams becomes available. (Likely towards the end of the spring quarter.)

I am a non-CS major who wants to learn some basic programming, and who was planning to take CMSC 12100 next year. Will the department be launching a new introductory sequence for non-CS majors?

No, the new introductory sequence is intended for both CS majors and non-CS majors. If you are a non-CS major who was planning to take CMSC 12100, you should instead plan to take CMSC 14100. Creative Coding (CMSC 11111) is another option for non-majors. It is a standalone course, not part of a sequence. It will not be offered in 2022/23, but will likely return in 2023/24.

My major requires that I complete one of the current introductory classes, such as CMSC 15200 or CMSC 12300. How will I be able to meet that requirement now?

The relevant departments around campus are already aware of the new CS introductory sequence, and will be adjusting their major/minor requirements accordingly. The 2022/23 College catalog will contain official statements of the requirements for these programs.

Informally, our understanding is that Statistics is planning to require CMSC 14100 and CMSC 14200. Statistics majors who are placed into CMSC 14300 or CMSC 14400 will be required to complete the course they were placed into. Students who place out of CMSC 14400 should contact the Statistics department for guidance. Computational and Applied Mathematics is planning a similar change to the requirements.

Similarly, our understanding is that Economics is planning to accept CMSC 14200 for the computer science requirement of the data science specialization. Students in this track who are placed into CMSC 14300 or CMSC 14400 will be required to complete the course they were placed into. Students who place out of CMSC 14400 will be expected to complete either Algorithms (CMSC 27200) or Databases (CMSC 23500).

For other majors, please contact the appropriate Director of Undergraduate Studies.

Will the courses in the 140s be offered every quarter?

The Department’s plan for 2022/23 is to offer CMSC 14100 in the Autumn and Winter, CMSC 14200 in the Winter and Spring, and CMSC 14300 in the Spring. CMSC 14400 will be offered for the first time in Autumn 2023. After that, each course will likely be offered at least twice a year.

Will the new courses count towards the Mathematical Sciences Core requirement?

Yes.

I am a CS major and I have already completed CS 154 or I plan to complete it before the 150s are retired. Will the new curriculum have an impact on me?

No. Majors who have already completed the intro sequence through 154 or who plan to do so before the CS 150s are retired will follow the rules in the 2021/22 catalog: 3 introductory courses, 3 PL & Systems courses, 3 Theory courses, and 5 electives for a total of 14 courses.

Is it still possible to start a CS major in second year?

Yes, as long as a student completes CMSC 14100 by the Winter of their second year, it will be feasible (if tight) to complete a CS major.

Does the new introductory sequence mean I won’t be able to take 200-level CMSC courses until I’ve taken the four courses in the sequence?

No, the new introductory sequence allows faculty to set prerequisites with more granularity than the current sequence. While some systems classes (Networks, Operating Systems, Databases, etc.) may require CMSC 14300 or CMSC 14400, we expect many other 200-level classes to only require CMSC 14200.

Will CMSC 22000 Introduction to Software Development continue to be offered as a class that can be taken after the second course in the introductory sequence?

One of the original goals of CMSC 22000 was to provide students an opportunity to build better software development skills before taking CMSC 15400 and 200-level classes, but that goal is moot with the new introductory sequence. In fact, some of the content covered in CMSC 22000 will now be covered in the new introductory sequence (mostly in CMSC 14200). As such, CMSC 22000 will not be offered in 2022/23, but we expect to start offering a new version of CMSC 22000 starting in 2023/24. This updated CMSC 22000 will likely have CMSC 14200 as a prerequisite, and will be open to all students, and not just those who have recently completed the second class in the introductory sequence.

Will Typed Racket be taught as part of the new introductory sequence?

No. The first two courses will use Python instead.

Will functional programming be covered in the new introductory sequence?

The new sequence will focus on imperative programming, but we will cover some aspects of functional programming, such as higher-order functions, in CMSC 14200.

I was really looking forward to learning Haskell in CMSC 16100. What do I do now?

This material will now be covered in Functional Programming (CMSC 22300), which will be offered in Winter 2023. Students who have completed CMSC 16100 will not be allowed to enroll in future offerings of CMSC 22300.