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.