OS with Lab: CS 1690 & CS2670

The “lab” is a half-credit addon for CS 1670, called CS 1690 (for undergraduates) or CS 2670 (for graduate students, or concurrent master’s students). Senior undergraduates may use the lab portion to count for their capstone requirement.

The lab is designed for students who want to explore operating systems concepts at a deeper level, including more hands-on time with real-hardware during assignments, and an extra weekly discussion seminar about how modern operating systems implement features in practice.

The lab version has two main components:

  1. Most projects will have an extra implementation component for CS 1690 students. These components focus on going deeper and involved solving advanced challenges, and/or implementing features on real hardware.
  2. Students will attend a weekly discussion seminar on Fridays 3-4:20pm, where we will discuss readings on real-world operating systems. In-person attendance is required; there is no remote or asynchronous option.

⚠️ Important note: The time and location listed for the seminar on CAB is incorrect:

  • Seminar take place on Fridays from 3-4:20pm, not 3-5:30pm. The 5:30pm end time shown on CAB is a limitation of the Registrar’s booking rules. All weekly seminars will be 80 minutes long, similar to lectures.
  • The first seminar (on Friday, September 11) will take place in CIT 368 (not Salomon 003). We may use Salomon 003 for future seminars; stay tuned for details on Edstem.

How much work is the lab?

The lab will require work equivalent to one-half of a regular course, amounting to at least 90 hours over the course of the semester. On a weekly basis, we expect the lab to add roughly 6-8 hours extra work per week:

ComponentExtra work
Attending Seminar1.5 hrs/week
Seminar prep / Readings2 hrs/week
Extra assignment work3–5 hrs/week

Who Should Enroll?

CS 1670 gives you an introduction to operating systems, but time constraints for the course mean that we have to at times simplify things relative to how they work in the real world.

Take CS 1690 if you want to explore operating systems more deeply, understand how the concepts you learn in CS 1670 are implemented in real operating systems, and get hands-on experience with an OS on real hardware.

Think of it this way: CS 1670 teaches what every computer scientist should know about operating systems, while CS 1690 is for you if you want to make a career in computer systems or are interested in research on operating systems, or just want to fully satisfy your curiosity about how operating systems work in practice.

No additional experience is necessary! The prerequisites are the exact same as CS 1670 (i.e., CS 0300/1310, CS 0330/1330, or equivalent). We encourage everyone to take the lab, as long as you are comfortable with the extra time commitment and can attend the seminar.

Note: To allow for an interactive discussion in seminars and because we have limited hardware, enrollment in the lab is limited to a maximum of 60 students. We will enforce the caps on CS 1690 and 2670 and accept enrollment on a first-come, first-served basis.

Course numbers: CS 1690 vs CS 2670

The lab version has two course numbers due to the way credits are counted for undergraduate and graduate students. Both are exactly the same in terms of content and grading. You should choose a course number based on how you want your credit to count for your degree:

  • Undergraduates should enroll in CS 1690 in addition to CS 1670. This is the standard mode for “half-credit” lab courses, allowing you to count the extra half-credit toward your degree requirements.
  • Graduate students (and concurrent master’s students) should enroll in CS 2670 only. This combines both 1670 and 1690 into one 2000-level course to grant 2000-level credit.

Important Note for CS 2670: Students taking CS 2670 are committed to completing the requirements for both the lab and main portion of the course. After the add/drop period ends, it is not possible to drop the lab portion and still get credit for CS 1670.

How do I sign up?

  • Undergraduates: Sign up for CS 1690 on CAB as normal.
  • Graduate students or concurrent master’s students: please fill out our enrollment form and request an override. We will respond as soon as we can.

More Questions?

Please see our Lab FAQs and Lab syllabus. If you have other questions, please feel free to reach out to us at cs-os-instructors@brown.edu.