High Demand Enrollment

Special enrollment – CS 4 – Teaching Computer Science

Registration for this class cannot happen until TA hiring decisions are made. Thank you in advance for your patience. If you are interested in taking the course, you can email Megan Monroe (mmonroe@cs.tufts.edu), but be aware that no student will have permission to register for the class when registration begins.

High demand enrollment – CS 40

To request enrollment for CS 40 in Spring 2023, you must fill out this form before November 11th to be considered for the first round of admissions. There will be additional rounds of admission after registration has started; to be considered for future rounds, you must fill out the form by November 18.


If you wish to apply for authorization to register for CS 40 in SIS at your assigned registration time, here are the steps you must take.

If you have not met with your advisor by the deadline, and are considering taking CS 40 but have not decided, please fill out the form indicating you wish to take the course (if you change your mind, you can email us at csadvising@cs.tufts.edu to let us know you are no longer interested).

Unchanged from recent terms is that your status as a CS major or minor plays a role in determining your priority for admission to CS 40. However: In most years, we have eventually admitted all sophomores, including those who are undeclared. Since choosing a major is a very important decision the department strongly discourages students from declaring a CS major just to improve their chances of admission to CS 40.

Reasons for these procedures:

The Department of Computer Science has been paying close attention to enrollments in core CS courses as demand grows. Our class sizes are limited both by the availability of faculty and TAs, and by the availability of classroom space. We also work hard to fairly ensure that students who have the greatest need to be admitted are given priority. In recent terms, administering all of this through SIS has been very time-consuming for the department and frustrating for students. For those reasons, the department has moved to the system described below for CS 40.

New procedures and what students must do:

  • CS 40 has been designated "high demand" for Spring 2023.
  • This means that the process for enrolling in the course will be different. Instead of directly registering for the course or a special waitlist section of the course in SIS, students will fill out a web form to indicate their interest.
  • Registration requests received the deadlines will be considered as space allows.

Authorizations to register:

No student will be allowed to register in SIS until their student ID number is specifically authorized by the department. We understand how valuable it is for students to learn their status early.

Therefore, based on the information received through the on-time web form submissions, we will authorize for registration in SIS as many students as possible in time for them to select CS 40 when SIS registration opens for the spring term. Once authorized, students will be able to register in SIS. You will be informed as soon as you are authorized, and then you must register. Authorization does not automatically register a student.

In all cases, decisions on whom to admit are at the discretion of the Department of Computer Science. We will use students' status (e.g., year, major, etc.), as documented in the form responses, to inform decisions. Among students who would otherwise have similar priority (e.g., same year, same major, etc.), students will be selected at random from those whose form was received by the deadlines listed above. There is no advantage to being the first to submit, as long as you submit on time according to the deadline for your year.

While our goal is for every student to be able to take the courses they want, we recognize that we do not always achieve that goal, and we very much appreciate your understanding. If you are not able to take the course this semester, it will be offered again.

If you have questions, please email us at csadvising@cs.tufts.edu.

High demand enrollment – CS 106

CS 106 is a project course that requires expertise in both functional programming and bytecode interpretation. If you have completed the first half of CS 105 and you have also completed the Universal Machine project from CS 40, that will be sufficient. Otherwise, to get permission to enroll, send an email summarizing your demonstrated skills with the two key technologies:

  - Functional programming in a typed language such as Elm, Haskell, OCaml, Standard ML, or similar

  - Interpretation of a byte-coded instruction set at the hardware level or virtual-machine level

Your email should be sent to the course instructor, Norman Ramsey, <nr@cs.tufts.edu>. We read every email, and we are looking forward to reading yours.