Let's demystify operating systems together! There's no magic, just code.

Lectures: Monday/Wednesday, 3:00-4:20pm – Location: 85 Waterman Room 130.

Announcements

2026-09-23: Project 2: Processes released!
2026-09-14: If you want to buy your own Raspberry Pi hardware, see our shopping list.
2026-09-10: Project 1: Bootup released!
2026-09-09: Project 0 (Setup) released!
2026-09-09: Lecture notes, code, and videos will be available from the schedule page.
Here are the notes for lectures 1, 2, 3, and 4
2026-09-02: Please read the notes on CS 1670 in Fall 2026 🆕
2026-09-02: Welcome to the entirely new CS 1670/1690 in Fall 2026! 🎉💗 Please join our EdStem.
Loading kernel from SD card...
Booting custom OS kernel...
[ 0.000000] Welcome to BearMetal v0.1

Build your OS from scratch

Say goodbye to endless stencil code. In CS 1670/1690, you design, architect, and implement your own operating system entirely from scratch. You own every line of code that runs.

Run it on real hardware

Your custom operating system will be able to run directly on the Raspberry Pi.

You’ll master hardware interaction, write real device drivers, and experience the realities of “bare-metal” programming. When it boots, you’ll know exactly why.

Students in CS 1690/2670 (“OS with lab”) are required to demonstrate their work running on real hardware, which we will provide after shopping period. This is optional for CS 1670 students, but recommended if you want to complete your final project on hardware!

Raspberry Pi Schematic
Whiteboard design session

Think bigger

We’ll leverage modern AI tools to help you tackle bigger, more complex, and design-oriented challenges, without neglecting the low-level implementation details.

Coupled with regular whiteboard sessions with our course staff, you’ll learn to architect and design an OS while also building one that is uniquely yours.