Course Syllabus
Fall 2026 • Brown University
CS 1670/1690 is an entirely new operating systems course at Brown University, built from scratch for Fall 2026. Students will design and implement a real operating system kernel that boots and runs on Raspberry Pi hardware.
Topics include: processes and threads, virtual memory, scheduling, file systems, I/O, system calls, synchronization, and the hardware/software interface on a real ARM processor.
CS 1690 is the lab companion to CS 1670. Students enrolled in 1690 attend an additional weekly seminar for hands-on hardware work and deeper conceptual exploration.
CS 2670 is a graduate-level version of the course that combines CS 1670 and 1690. Students in CS 2670 complete the same work as students in CS 1670 and 1690, receiving one course's worth of 2000-level credit for it.
| Semester | Fall 2026 |
|---|---|
| CS 1670 Lecture | Mondays and Wednesdays, 3:00-4:20pm, 85 Waterman St 130 |
| CS 1690 Seminars | Fridays, 3:00-4:20pm, location TBD |
| Instructors | Malte Schwarzkopf and Nicholas DeMarinis (cs-os-instructors@brown.edu) |
| Head TAs | Chloe Qiao and Simon Juknelis |
| Prerequisites | CSCI 0300/1310 (Fundamentals of Computer Systems) or equivalent; instructor permission for others |
| Capstone Credit | Available via CS 1670 + CS 1690 (or CS 2670) |
Projects
The core of the course is a series of programming projects in which you will incrementally build a working operating system kernel that has all the core features of a modern-day OS. Each project builds on the last, so staying on schedule is important.
The exact projects are still in development and subject to change, but will cover at least the following:
| # | Topic |
|---|---|
| 1 | Booting and I/O |
| 2 | Processes and context switching |
| 3 | Visual I/O |
| 4 | User/kernel space separation and privilege levels |
| 5 | Memory management and virtual memory |
| 6 | File system and I/O |
| 7 | Multi-core (CS 1670), Final project (CS 1690) |
Labs
Occasionally, we will have shorter lab assignments that help get you started on the larger projects.
Post-Lecture Quizzes
Short quizzes due midnight before the next lecture. Graded on completion and correctness.
Grading Breakdown
- ● Code submissions for each lab/project, graded on correctness, code quality, and design.
- ● Whiteboard discussions with course staff, graded on conceptual understanding.
- ● Quizzes (one midterm and one final in-person), testing conceptual understanding.
- ● Fun extra credit opportunities graded on creativity and technical sophistication.
The course encourages working with others to learn and solve problems, and has an open AI policy to reflect the reality of modern software development.
The course allows you to selectively leverage AI tools, and we'll help you use them effectively and responsibly. You must be able to understand and explain your designs and code at all times. The course will include in-person components that assess your understanding.
Permitted
- • Working with other students in the course.
- • Using AI tools to write, explain, and debug code (within limits set by each assignment).
Not Permitted
- • Copying code from AI, other students, or the internet without attribution.
- • Any collaboration during exams.
Acknowledgment: You must acknowledge all AI tools and classmates who helped you in your README files.
Attendance
Lecture attendance is strongly encouraged. Attendance at CS 1690/2670 seminar sessions is mandatory — one free absence is permitted; additional absences incur a grade penalty.
All students will complete mandatory whiteboard/design discussions with TAs or instructors. Missing a discussion without prior notice caps your project grade for that assignment at a C.
Late Policy (Projects Only)
| Total Budget | 144 hours across all projects combined |
|---|---|
| Per-project limit | Maximum 72 hours per individual project |
| Grace Period | Midnight–7am period is excluded from late hour counts |
Expected Time Commitment
| Activity | Hours/week | Total (semester) |
|---|---|---|
| Lectures (all) | ~3 hrs | ~40 hrs |
| Projects (all) | 8–15 hrs | ~110–200 hrs |
| Labs and Design Discussions | 2-3 hrs | ~25–40 hrs |
| PLQs (all) | ~0.5 hrs | ~7 hrs |
| CS 1690 Additions | ||
| Additional project components | ~3-4 hrs | ~40-55 hrs |
| Seminar | ~2 hrs | ~21 hrs |
| Readings | ~2-3 hrs | ~25-40 hrs |
| Total (CS 1670) | ~180–280 hrs | |
| Total (CS 1670+1690 / CS 2670) | ~270–400 hrs | |
Accessibility (SEAS)
Students requiring accommodations should contact SEAS at SEAS@brown.edu. Please also let the instructors know early.
Mental Health (CAPS)
Being a student can be very stressful. Counseling and Psychological Services provides confidential support and can issue documentation for extensions.
Incompletes
Students facing extraordinary circumstances may discuss an incomplete. A completion plan must be set before the semester ends.
Remote Participation
As this is the first offering of this version of CS 1670/1690, only in-person students may register. All students must be able to attend lecture in person. We may offer a remote section in future years.