What's The Relationship between CS 110 and CS 111?

CS 111 is a new class that will replace CS 110. The material for CS 111 is very close to that traditionally taught in CS 140. However, CS 111 will not use the Pintos projects from CS 140; instead, it uses a new set of projects that are intended to be less time-consuming. CS 110 will continue to be taught up through the Winter quarter of 2022, and students can take either course until then; CS 111 satisfies the CS 110 requirement. Effective in the Spring quarter of 2022, CS 110 will no longer be taught and CS 111 will become required for all CS majors who haven't yet taken CS 110. CS 111 does not satisfy the "significant implementation requirement" for M.S. students.

CS 111 also (mostly) replaces CS 140. Students who have taken CS 111 should not take CS 140. Students in the systems track will need to supplement CS 111 with an additional course that has a substantial operating systems implementation component. One option will be CS 112, a new class consisting of the Pintos projects from CS 140 (CS 111 and CS 112 together will cover all of the content of the current CS 140). CS 112 will be taught starting in the 2021-22 academic year. Another option is CS 112E, which is a renumbering of the current CS 140E. Other options may become available in the future. These classes will also meet the "significant implementation" requirement for M.S. students.

Finally, CS 140 will be renumbered as CS 212. It will continue in the same form as CS 140, with Pintos projects. CS 212 is not appropriate for anyone who has taken CS 111 because of the overlap in material. CS 212 is intended primarily for M.S. and Ph.D. students who arrive without having taken an Operating Systems course. However, undergraduates may choose to take CS 212 instead of CS 111 and CS 112.

Why are we making this change?

CS 110 was originally designed to fit between CS 107 and CS 140, which constrained the topics covered by the class. CS 111 resulted from stepping back and asking what the ideal intro systems class would look like. We decided the ideal class would teach all CS undergraduates how operating systems work. In short, CS 140 should be adapted to CS 111, not vice versa. An added benefit is that the new CS 140 requirement provides more choices to systems track majors, including CS 112 to continue providing CS 140's Pintos labs and CS 112E for those interested in embedded systems. Finally, the change frees up units for systems track majors, which they can use for other classes.