Course Information

Course Information


Lectures are Mondays, Wednesdays, and Fridays from 11:30-12:20 PDT, and will be virtual:

  • Join the lectures using Zoom via
  • Lectures will be recorded, so you can review them later.
  • Lecture attendance is mandatory unless there is a compelling reason you cannot attend live, such as Internet connectivity problems or living in a time zone where lectures are in the middle of the night. To request an exception from live attendance, please post a private note on Ed Discussions. Each student is allowed to miss three lectures over the course of the quarter; students missing more than three lectures will not receive credit for the class unless there is a compelling reason for the absences.
  • Please leave your video on unless you are suffering from bandwidth problems.
  • Class participation is encouraged. If you would lke to ask a question or make a comment, raise your electronic hand in Zoom. It's also fine to interrupt me if I don't see your hand.

Lecture notes are available in advance and provide an outline for much of the material that will be presented in class; I recommend that you print out the notes and bring them to lecture so you can mark them up with additional notes during lecture. You can also cut and paste from the Web pages into programs such as Microsoft Word, and then annotate the copy during class with additional information.


There is no required textbook for this class: the material of the course is defined by the lectures and does not exactly correspond to any existing book. However, I recommend the following book if you would like an additional source of material to supplement lectures:

  • Operating Systems: Principles and Practice (2nd Edition), by Thomas Anderson and Michael Dahlin. Each page of lecture notes lists related readings in this book at the front of the notes page. Most students find that the material from lecture is sufficient for their course needs, so I recommend that you start the course without the book and only purchase the book if you decide you would like additional material and explanations beyond what is in lecture.


The class will have a weekly discussion section, which will provide background material for the class projects. Section attendance is strongly encouraged.


The class includes eight programming projects. One project is due each week except the first and sixth weeks of the quarter. You will work individually on the projects.

Late Days

Each student is allowed a total of 3 late days for the projects, which may be spent in units of one day (24 hours) on any project(s) throughout the quarter. Once your late days have been used up, late work will not receive any credit. Late days are intended to handle all issues, including unexpected problems such as illness, so it's risky to use them all up early in the quarter.


The class will have two 90-minute midterm exams, one during the sixth week of the quarter and one during the last week. Exams will be outside the normal lecture hours; the times will be determined later, and we will schedule alternate times for people who have conflicts.


We sometimes make mistakes in grading, both on projects and exams, and are happy to correct these if you point out the error. To request a regrade for a project, post a private question on Ed Discussions and we will respond as quickly as possible. Regrade requests must be submitted within 5 days after we send out the grades for a project or exam.

Regrade requests should focus on errors (i.e., something we thought was wrong but actually was right, or we misunderstood your work). There may be situations where you made an error but disagree about the number of points deducted; it is highly unlikely that we will change your score in these situations, since this would require us to regrade all of the other projects/exams.

Grading Policy

Grades for the class will be determined based on a 100-point total score computed as follows:

Midterm 120points
Midterm 220points

Honor Code

As in all Stanford classes, you are expected to follow the Stanford Honor Code. For example, the following activities are prohibited and will be treated as Honor Code violations (this is not intended to be a complete list of Honor Code violations):

  • Submitting code that you did not write personally, with the exception of project code written by your partner(s).
  • Consulting pre-existing solutions for problem sets and projects (such as solutions posted on the Internet).
  • Posting your solutions on the Internet or making them available to other students in any form.

You are allowed to discuss general approaches and issues with other students in the class. It's also fine to give other students help finding bugs if they are stuck, or to answer general questions, such as "what is the meaning of this field in an inode?" But, any code you submit must be written by you, from scratch, without consulting existing solutions. We reserve the right to use computer software such as MOSS to analyze material that you submit in order to detect duplication with other students or existing solutions. A general way to think about this is that if a particular activity significantly short-circuits the learning process (it saves you time but reduces the amount you learn and/or figure out on your own), or if it misrepresents your capabilities or accomplishments, then it is probably an Honor Code violation.

Students with Documented Disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Student Disability Resource Center (SDRC) located within the Office of Accessible Education (OAE). SDRC staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the SDRC as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066).