Syllabus

Catalog Description

This undergraduate course delves into the design and implementation of operating systems by conducting a quarter-long project.

Instructor

  • Name: Heng Yin
  • Email: heng AT cs DOT ucr DOT edu
  • Office hours: by appointment via Calendly
  • Location and Time: Online via Zoom, Mon 6:00PM-6:50PM

Textbooks

Communication

We will use iLearn for assignments and grading, and piazza for announcement, discussions and help.

Projects

We will use XV6 as a base for our projects. Please refer to this textbook to understand how XV6 is organized and implemented. You can check this page about how to set up xv6 on your local machine.

We will use this GitHub repository for our project:

        $  git clone git@github.com:hengyin/xv6-riscv.git

Students are expected to work alone or in small groups of two students. In this course, we will make serveral improvements over XV6:

Good software engineering practice:

  • Good Documentation
  • Version Control
  • Automatic Tests

Grading (Tentative)

There are totally 5 labs, each of which counts 20% into the final grade. Each lab will be graded based on the following aspects:

  • Source code and comments
  • Lab report
  • Tests created and passed

Policy for Late Submissions

Late submissions within 48 hours will be graded with 20% penalty. Late submissions beyond 48 hours will not be graded. Exceptions may only be granted case by case with evidence presented.