CS110: Principles of Computer Systems

Spring 2019, Mo/We/Fr 1:30pm-2:50pm, Hewlett 201

Midterm Exam:
calendar_ok:small Thur. May 2nd
alarm:small 6:00pm-8:00pm
map:small Location: Hewlett 200

Midterm Information

Final Exam:
calendar_ok:small Mon. June 10th
alarm:small 3:30pm-6:30pm
map:small Location: TBA


Chris Gregg
mail:small Email: cgregg@stanford.edu
alarm:small Office Hours (Gates 201):

Tue 9am-11am
Thur 10am-12pm
or by appointment.


Assignment 6, ThreadPool, Released


Assignment 6, ThreadPool, is available now. It is due Wednesday, May 22nd, at 11:59pm. Note that this is a shorter deadline than most assignments -- we have scaled back the assignment significantly from what we had originally intended (mainly because of the extra days for the past two assignments), so you should have time to complete it. The single thing you need to do for the assignment is to write the ThreadPool class.

Assignment 5, RSS News Feed Aggregation, Released


Assignment 5, RSS News Feed Aggregation, is available now. It is due Friday, May 17th, at 11:59pm.

One day extension for assignment 4 -- now due on Thursday, May 9th, 11:59pm


After discussing this with the CAs, we've decided to extend assign4 for everyone to Thursday, May 9th, at midnight.

We realize that some of you have either already finished, or are about to finish, and we want to reward you for being extra-on top of the assignment. So, if you make a final submission by tonight (Tuesday), we will add two bonus points to your assignment, gratis. Of course, you are welcome to continue to submit as normal until the deadline (with the normal two late-days, 90% cap and 60% cap, respectively).

Let us know if you have any questions, and hopefully this will give everyone a bit of breathing room.

Oh -- we still plan on releasing the next assignment tomorrow, but it will have a bit later due date than originally scheduled (probably an extra day to account for this later deadline).

Midterm Results Posted


Please see this midterms result document for information about the midterm results.

Midterm Exam Download Links


Please use the following links to download the exam file for tonight's midterm (this is different than the BlueBook softrware -- see the note below to download that. To be clear: you should download two things for the midterm: the software and the exam file itself.).

Other logistics:
  • Please bring your 2-factor device (phone) to the exam, as submitting the exam requires authentication.
  • Please have a charged laptop -- we will have power cords available, but only use them if you need to.
  • We will have plenty of scrap paper for you to use if you'd like. We will only grade what is on the exam.

No labs this week -- short video instead


There are no labs this week. Instead, please watch the following short video: CS Storytelling

Once you have watched the video, fill out the form for lab attendance for the week.

BlueBook Download links for midterm


The midterm exam will be administered on a digital tool called BlueBook. Please make sure to download and install BlueBook on your laptop before the exam. If you do not have access to a laptop for the exam, please let Chris know ASAP at cgregg@stanford.edu.

Note: If you're using a Mac and you get an error saying that the Disk Image is from an unidentified developer, don't panic! Simply open up the Mac-BlueBook-1.1.0.dmg file in your finder, and right click it and select 'open'. The same window will pop up, but this time you'll have a chance to open it anyway. On Windows, If you get a message that says, "Windows protected your PC," you can click on "More info" and then "Run anyway".

Here is a practice exam that can be run on BlueBook so you can test your computer: demo_exam.json. Once you have downloaded it, open BlueBook and find the file (demo_exam.json) and open it. The password is demo

Should you run into any technical issues, shoot Chris an email at cgregg@stanford.edu.

Assignment 4, Stanford Shell, Released


Assignment 4, Stanford Shell, is available now. It is due Wednesday, May 8th, at 11:59pm.

Midterm Information Posted


I have posted the midterm information, to include practice exams. Please feel free to ask questions on Piazza about any questions you have about the exam.

Assignment 3 Overview Video Posted


I have posted an overview video for Assignment 3.

Assignment 3 Posted


Assignment 3, "All Things Multiprocessing" has been posted. It is due on Sunday, April 28, 2019 at 11:59 p.m..

Assignment 1 Grades Released


Assignment 1 grades have been released. You can find them through the navigation bar above, or here.

New lab section: Thursdays 1:30 - 2:50pm, in 200-217, with Feross


Because of the demand for Thursday sections, we have opened up a new section on Thursdays from 1:30pm-2:50pm in 200-217. Feel free to change your section to that time if you'd like, with this link.

Assignment 2 Posted


Assignment 2, "Unix v6 File Systems" has been posted. It is due on Thursday, April 18th at 11:59pm.

Assignment 1 Posted


Assignment 1, "Six Degrees of Kevin Bacon" has been posted. It is due on Wednesday, April 10th at 11:59pm. There are no late days allowed for this assignment (i.e., assignments will not be accepted after the regular due date).



This is the website for CS110, Principles of Computing Systems for the Spring 2019 Quarter.

If you have any questions about enrolling in CS110, please email Chris at cgregg@stanford.edu, and I look forward to having you in class!

Website design based on a design by Chris Piech
Icons by Piotr Kwiatkowski