Operating Systems Principles

Winter 2024

Important course announcements will be posted below and announced in class. You are responsible for all material that appears here and should check this page for updates frequently.

Announcements

Scroll to see more announcements. Updates will also be posted on the discussion forum.

  • assign5 Released! Tues Feb 27 by Nick Assignment 5 has been posted in the assignments dropdown. It is meant to reinforce the topics of dispatching and scheduling, with exercises ranging from implementing your own thread dispatcher to implementing your own lock and condition variable types. We hope you have fun with it! The assignment is due Thurs 3/7 at 11:59PM PT. You can find more details on the assignment page.

  • assign3 Grades Released Mon Feb 26 by Isaac Assignment 3 grades have been posted to the Gradebook page. The median functionality score was 97/100; rock on! See Ed for a more in-depth announcement about grading feedback.

  • Midterm Grades Released Mon Feb 19 by Nick Midterm exam scores have been released via Gradescope, an online course grading website. You can find more information about the exam solutions, statistics, how to see your score, and information about regrade requests, on the midterm grading page here. You can also find more information in our Ed post here.

  • assign4 Released! Fri Feb. 16 by Nick Assignment 4 has been posted on the assignments page. It is meant to reinforce the topic of multithreading and synchronization, with exercises including reflecting on trust, managing boarding Caltrain passengers and coordinating guests at a party. We hope you have fun with it! The assignment is due Mon 2/26 at 11:59PM PT. You can find more details on the assignment page.

  • assign2 Grades Released Mon Feb. 12 by Nick Assignment 2 grades have been posted to the Gradebook page, along with feedback on your readmes and code. The median functionality/readme score was 96/98. Awesome job! See Ed for a more in-depth announcement about grading feedback.

  • assign1 Grades Released Tues Feb. 6 by Isaac Assignment 1 grades have been posted to the Gradebook page. The median score for functionality was 91/93. Nice work! Check out Ed for a debrief of the assignment.

  • Midterm Exam Thurs. 2/15 7-9PM Mon 2/5 by Nick The CS111 midterm exam is on Thursday February 15th from 7-9PM in STLC111 / Bishop Auditorium (by last name). Please see the midterm exam webpage for information about the exam, review materials and study tips. You got this!

  • assign3 Released! Thurs Feb. 1 by Nick Assignment 3 has been posted on the assignments page. It is meant to reinforce the topics of multiprocessing and pipes; your task is to implement your very own shell! The assignment is due Sun Feb 11 at 11:59PM PT. You can find more details on the assignment page. Wednesday's lecture covers enough material to work up through single-process pipelines, and the remaining portions require material covered on Fri.

  • assign2 Released! Sat. Jan 27 by Nick Assignment 2 has been posted on the assignments page. It is meant to reinforce the topic of crash recovery and OS trust with exercises ranging from implementing components of a crash recovery tool to using provided tools to explore logging filesystems and crash recovery tradeoffs to exploring assumptions we make when we use operating systems. We hope you have fun with it! The assignment is due Wed 1/31 at 11:59PM PT. You can find more details on the assignment page.

  • assign0 Grades Released Thurs Jan 25 by Isaac Assignment 0 grades and style feedback have been posted to the Gradebook page! The median score for code functionality and questions.txt responses was 79/80. Nice work! Check out Ed for a debrief of the assignment.

  • assign1 Released! Mon. Jan 15 by Nick Assignment 1 has been posted on the assignments page. It is meant to reinforce the topic of filesystems (specifically the design of the Unix V6 filesystem); your job is to implement the logic for reading from the Unix v6 filesystem. We hope you have fun with it! It is due on Friday January 26th at 11:59pm. See the assignment page for more information. Note that starting with this assignment, we aren't able to look at assignment code when helping in helper hours, though we can still provide code-level help. Lecture 3 covers enough material to implement the inode and file layers (and we will do more practice with doubly-indirect blocks on Wed); the remaining portions require material covered in Lecture 4. As you get started, check out our review videos on Canvas, especially on pointers and memory, as this assignment includes work with pointers and C strings.

  • Section Assignments PostedMon. Jan 15 by Nick We have posted section assignments - you can view your assignment from the "sections" dropdown in the top toolbar. We did our best to assign everyone to one of their top choices. On this form, if you'd like, you can also join a different section with space available. Unfortunately, if a section is full, we are not able to accommodate additional students at this time, but check back later, as enrollments may shift over time. If you didn't submit section preferences, you can also join any section with space available. For SCPD students, there is an announcement on Canvas about section logistics for attending in person, remotely, or completing section on your own.

    Sections start Wed., and in the first section, your TA will introduce themselves and explain everything about section and what it's all about. You can find more information about section and section policies, including makeup sections, on the course information page. We'll see you in section this week!

  • assign0 Released! Tues. Jan 9 by Nick Assignment 0 has been posted on the assignments page. It is meant to get you up to speed with the tools, techniques and some of the C/C++ features we'll be relying on this quarter, and consists of some code reading, short answer questions, and a little code writing. We hope you have fun with it! It is due on Tuesday, January 16 at 11:59pm and no late days/submissions are accepted on this assignment (except for OAE / approved Head TA extensions). See the assignment page for more information. Also check out our course style guide for tips and guidelines on how to write code with good style!

  • Section Signups Open until Sat. 5PM Tues. Jan 9 by Nick Section preference submissions are now open! Anytime until Saturday at 5PM PDT, please submit your section preferences for which section you would prefer to attend this quarter. Note that preferences are not first-come first-serve; you may fill out your preferences anytime between now and Saturday at 5PM PDT, and you may come back to update your preferences later as well. You can access the preferences form in the "Sections" dropdown at the top of the page once it opens. For more information about sections including attendance, missing sections, and other policies, see the sections portion of our course syllabus.

  • Apply to CS111ACE! Sun Jan. 7 by Nick If you're looking for more practice and support as you take CS111, consider applying for CS111ACE ("CS111A")! It is a 1-unit class that is a part of ACE (Additional Calculus for Engineers), a supplementary instruction program that includes weekly sections, office hours, and ACE-specific review sessions. It is done in addition to all the normal requirements for CS111, and is scheduled this quarter for Tues 1:30-3:20PM in STLC115. Enrollment is by application, and you can find more information at this link: click here. Once enrollment decisions are made, students who are accepted will then be given a permission number to enroll on Axess. If you have questions, please email Trip Master, the ACE CA, at tmaster@stanford.edu. Also check out the ACE Ed post here.

  • Welcome! Mon Jan. 8 by Nick Welcome to CS111! Class starts on Monday, January 8th at 1:30PM in Hewlett 200. We are looking forward to meeting you and starting off a great quarter together! We'll have more details to come about the details of CS111 this quarter. In the meantime, please feel free to check out our FAQ. It covers questions about recorded lectures, conflicting classes, CS111ACE, and more. We hope you find it helpful! SCPD students, please check out our SCPD handout for more information on SCPD logistics.

Course Logistics

Lectures: Mon/Wed/Fri 1:30-2:20PM in Hewlett 200

Sections: Wed/Thu/Fri at various times; students sign up for sections after the quarter begins.

Exams:

  • Midterm Exam
    Date/Time: Thursday, February 15th, 7-9PM
    Location: STLC111 and Bishop Auditorium (by last name)
    Info: midterm webpage

  • Final Exam
    Date/Time: Wednesday, March 20th, 3:30-6:30PM
    Location: Dinkelspiel Auditorium
    Info: final exam webpage

Feedback

  • How are we doing? Submit anonymous feedback here.

Course Staff and Contact Information

Instructor email: troccoli+cs111@stanford.edu for CS111 emails, troccoli@stanford.edu for non-CS111 emails
Head TA email: gorelik+cs111@stanford.edu

You can email the Head TA for requests of a personal nature, such as about: Office of Accessible Education accommodations, alternate exams, extension requests or other accommodations, assignment autograder test scores, enrollment questions, auditing, or other personal matters.

You can email the instructor for questions about private/personal matters.

You can email the grader listed at the top of your assignment grade report if you have questions about assignment style or manual review grades - for questions about assignment autograder test scores, please email the Head TA.

You can email your section TA for questions about section attendance grades, or for section accommodations (e.g. missing a section due to extenuating circumstances).

Note that email is not intended for course material or code questions; for those questions, please take advantage of the discussion forum or helper hours!

A profile picture for Head TA Isaac Gorelik

Isaac Gorelik (Head TA)

A profile picture for TA Emma Escandon

Emma Escandon

A profile picture for TA Eric Tang

Eric Tang

A profile picture for TA Gavin Li

Gavin Li

A profile picture for TA Matthew Ayoob

Matthew Ayoob

A profile picture for TA Michael Granado

Michael Granado

A profile picture for TA Michela Marchini

Michela Marchini

A profile picture for TA Raj Palleti

Raj Palleti

A profile picture for TA Rishi Dange

Rishi Dange

A profile picture for TA Shruti Verma

Shruti Verma

A profile picture for TA Sumer Kohli

Sumer Kohli

A profile picture for TA Wilmer Zuna

Wilmer Zuna

A profile picture for TA Xiyu Zhang

Xiyu Zhang

A profile picture for TA Yash Govil

Yash Govil

CS111ACE CA:

A profile picture for ACE TA Trip Master

Trip Master (tmaster@stanford.edu)

CS111 Embedded Ethics: