Course Syllabus

Fall 2026 • Brown University

Overview & Logistics

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.

SemesterFall 2026
CS 1670 LectureMondays and Wednesdays, 3:00-4:20pm, 85 Waterman St 130
CS 1690 SeminarsFridays, 3:00-4:20pm, location TBD
InstructorsMalte Schwarzkopf and Nicholas DeMarinis (cs-os-instructors@brown.edu)
Head TAsChloe Qiao and Simon Juknelis
PrerequisitesCSCI 0300/1310 (Fundamentals of Computer Systems) or equivalent; instructor permission for others
Capstone CreditAvailable via CS 1670 + CS 1690 (or CS 2670)
Assignments & Grading

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
1Booting and I/O
2Processes and context switching
3Visual I/O
4User/kernel space separation and privilege levels
5Memory management and virtual memory
6File system and I/O
7Multi-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.
Passing requirement: Students must submit reasonable attempts for all projects, take both exams, and achieve a passing average across both exams combined.
Collaboration & AI

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.
The Key Principle: All work you submit must represent your own understanding and effort. You must be able to explain any code you hand in independently. AI tools are a force multiplier — use them to go further, not to skip the learning.

Acknowledgment: You must acknowledge all AI tools and classmates who helped you in your README files.
Attendance & Workload

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 Budget144 hours across all projects combined
Per-project limitMaximum 72 hours per individual project
Grace PeriodMidnight–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 Discussions2-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
Support & Accommodations

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.