NOTE: this website is out of date. This is the course web site from a past quarter. If you are a current student taking the course, you should visit the current class web site instead. If the current website is not yet visible by going to cs111.stanford.edu, it may be accessible by visiting this link until the new page is mounted at this address. Please be advised that courses' policies change with each new quarter and instructor, and any information on this out-of-date page may not apply to you.
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.
-
Final Course Grades Posted Wed. March 27 by Nick Final grades have been uploaded to Axess. Check your Stanford email for more details about grades. We have also posted all your grade information and breakdown to the Gradebook page. There is more information about how we calculated final course grades on the Ed forum here. Have a great spring break - we hope you enjoyed the course!
-
Final Exam Grades Released Tues. March 26 by Nick Final 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 final exam grading page here. Good job on the exam!
-
assign6 Grades Released Tues. March 26 by Isaac Assignment 6 grades have been posted to the Gradebook page. The median functionality score was 97/97; nice work! See Ed for a more in-depth announcement about grading feedback.
-
assign5 Grades Released Tues. March 19 by Isaac Assignment 5 grades have been posted to the Gradebook page, along with scores for manual functionality code review. The median functionality score was 110/112. Great job! See Ed for a more in-depth announcement about grading feedback.
-
Final Exam Wed. 3/20 3:30-6:30PM Mon. March 11 by Nick The CS111 final exam is on Wednesday, March 20th from 3:30-6:30PM in Dinkelspiel Auditorium. Please see the final exam webpage for information about the exam, as well as study tips and review materials.
If you have not already let us know about academic accommodations (e.g. OAE) or athletics accommodations, please let us know as soon as possible. We'll also be hosting a review session for the exam, the details of which are coming soon! -
assign4 Grades Released Fri. March 8 by Isaac Assignment 4 grades have been posted to the Gradebook page. The median functionality score was 153/156; rock on! See Ed for a more in-depth announcement about grading feedback.
-
assign6 Released! Thurs. March 7 by Nick The final assignment, assign6, has been posted in the assignments dropdown. It is meant to reinforce the topics of virtual memory and demand paging; you will implement the core components of a demand paging system to track page mappings and swap pages to disk. We hope you have fun with it! It is due Friday 3/15 at 11:59PM PT and no late submissions are accepted on this assignment, whether or not you have free late days remaining, except in cases of Head TA-granted extensions or OAE accommodations. You can find more details on the assignment page.
-
Mid-Quarter Grade Update Posted Thurs. Feb 29 by Nick We've posted a mid-quarter grade update page containing overall course statistics for your work so far this quarter. That page includes your raw overall assignment score so far, your overall raw course score, and your percentile range. You can view all this information here. We've also added lecture scores and midterm scores to the gradebook page here. Lastly, we have also posted a page containing information about commonly-asked questions heading into the final weeks of the course, for example about how to interpret course grades, succeed in the remainder of the course, and more. We hope you find it helpful!
-
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!
Isaac Gorelik (Head TA)
Emma Escandon
Eric Tang
Gavin Li
Matthew Ayoob
Michael Granado
Michela Marchini
Raj Palleti
Rishi Dange
Shruti Verma
Sumer Kohli
Wilmer Zuna
Xiyu Zhang
Yash Govil
CS111ACE CA:
Trip Master (tmaster@stanford.edu)
CS111 Embedded Ethics: