Thank You!!

Monday, August 20

Congratulations on finishing the quarter! I’m proud of each and every one of you; this is truly challenging material, and even if you didn’t do as well as you would have liked to, I am still proud of you for learning so much. You have all taught me so much this summer, and I have felt so rewarded working on this class.

  • Final grades have been posted to the gradebook. Solutions and statistics have been posted here.
  • Course grades have been posted to Axess. If you have concerns with how your course grade was calculated, please email me.
  • I graded the HTTPS proxy extra credit assignments by hand, so your grade doesn’t appear in the gradebook. You received 8 points for loading a single HTTPS web page, 8 points for loading Gmail, and 4 points for not leaking any file descriptors. Please email me if you have concerns about how this was graded.
  • Please fill out the course survey on Axess. As I mentioned in class, this feedback is especially important for me, since it is my first time teaching this class. I appreciate your help!

Have a wonderful rest of your summer, and please keep in touch!

Week 7 Announcements

Friday, August 10

Believe it or not, this course is winding down! You’ll be finished in exactly one week.

  • This week’s survey is posted here. This is the last weekly survey of the class! Complete it for an extra point on Assignment 6.
  • I made a mistake in my nonblocking I/O lecture last week that caused the program to burn a lot more CPU than it should have. I’ve amended the lecture notes and posted a writeup here. This won’t change your understanding for the extra credit assignment, but it would be good to read before the final.
  • Speaking of the final, I have posted practice finals and some logistics info here.
  • Please come to class today and next Wednesday! We will be having exciting guest talks from Qadium and WhatsApp about security and high-concurrency infrastructure. You’ll get a lot out of being there in person (and Qadium is doing an in-person-only demo at the end).

Week 5 Survey

Saturday, July 28

I have a few quick announcements for you this week:

  • The weekly survey is posted here, due Sunday at 11:59pm as usual. This week’s is shorter than usual. When you complete this, add a line to your NOTE_TO_GRADER file indicating you did it.
  • Midterms have been graded! Grades are posted in the gradebook, and you can see information about the exam (and answers) here.

Week 4 Announcements

Friday, July 20

You’re now exactly halfway through the class! (A little more, perhaps; you’re actually 75% through the lecture material and about 50% through the assignments.) I hope you feel rewarded for all the work you’ve put into this class – you’ve come a long way!

  • Assignment 2 grades will be released Sunday night.
  • The weekly survey is posted here, due Sunday at 11:59pm as usual. When you complete this, add another line to your NOTE_TO_GRADER file indicating you did it. (I just added a note to the Assignment 3 handout.)
  • Please read some additional announcements at the beginning of today’s lecture notes. I didn’t want to drop everything in this small space :)

Week 3: Survey, Assignments, Midterm!

Friday, July 13

I have several announcements for you today:

  • Our fabulous CAs put in a remarkable effort to get your assignments graded early! You can see your results here. The average functionality grade was 58/67, and the median was 67/67. Style grades are given on a solid, minor-problems, and major-problems bucket system; the majority of style grades fell into the solid and minor-problems buckets. Excellent work on this first assignment!
    • Style grades map numerically as follows: exceptional is 105%, solid is 95%, minor-problems is 80%, and major-problems is 60%.
    • If you have an issue with how your assignment was graded, you should email the CA that graded it. You can see your grader’s sunet ID towards the top of the grade report.
  • Assignment 2 is due tonight, and Assignment 3 will be up tonight. It asks you to build your very own shell, and it is due Monday the 23rd. (I highly recommend making solid progress this weekend, so that you can get it out of the way early and spend your time studying for the midterm.)
  • The midterm is a little over a week from now. It focuses on multiprocessing, but multithreading will also be covered at a conceptual level. Review materials are posted in the “Handouts” section.
  • As usual, please fill out this anonymous survey to help me improve the course! This is due Sunday night at 11:59pm. I’m very grateful for all the feedback you’ve provided so far, and am slowly working on improving the course for you.

Week 2 Survey

Friday, July 6

We’re now at the end of week 2! We’re well on our way into the land of concurrency and multiprocessing, and next week, we’ll be transitioning to talk about multithreading as an alternate mechanism for concurrent computation.

Please fill out this anonymous survey to help me improve the course. You’ll receive 1 point of extra credit on Assignment 2 for completing it. (See instructions at the end of the Assignment 2 handout for how to get credit.)

Week 1 Survey

Friday, June 29

Congratulations on making it to the end of week 1! Already, you can look back over the past week and marvel at how much you’ve learned.

Please fill out this anonymous survey to help me improve the course. You’ll receive 1 point of extra credit on Assignment 1 for completing it. (Also, if you haven’t started Assignment 1 yet, you should really do so soon!)

Welcome to CS 110!

Saturday, June 23

I’m excited to be your instructor this quarter! I think you will find this a rewarding class over the next 8 weeks, and I hope you are looking forward to upping your systems game. For now, some logistics:

  • Make sure you are officially enrolled in Axess. We are jumping right into course material, and enrollment will help me ensure you have access to the assignments and labs.
  • If you haven’t taken CS 107, email me letting me know!
  • If you are not an SCPD student but still wish to take the exams remotely, email me and we can work something out.
  • Fill out the course survey here (or here if you are an SCPD student)
  • Check out the schedule and make sure you have blocked off the midterm and final exam on your schedule.
  • Sign up for Piazza, our Q&A forum.
  • Sign up for Slack, where we’ll be having online student-to-student discussion.


#18: Final Review

Monday, August 13

#17: Principles of System Design

Wednesday, August 8

#16: Cloud Native Filesystems

Monday, August 6

#15: MapReduce

Friday, August 3

#14: Nonblocking I/O

Wednesday, August 1

#13: HTTP and Sockets Recap

Monday, July 30

#12: Clients, Thread Pools

Wednesday, July 25

#11: Intro to Networking

Friday, July 20

Reading: Bryant & O’Hallaron, Sections 11.1-11.4

#10: Midterm Review

Wednesday, July 18

#09: Multithreading Recap

Monday, July 16

#08: Synchronization Primitives

Wednesday, July 11

Reading: Bryant & O’Hallaron, Chapter 4 of the Stanford version (Chapter 12 of the full text). Skip section 2.

#07: Intro to Multithreading

Wednesday, July 11

Reading: We’re beginning material from Bryant & O’Hallaron, Chapter 4 of the Stanford version (Chapter 12 of the full text). Skip section 4.2.

#06: Multiprocessing Recap

Monday, July 9

#05: Signals

Friday, July 6

Reading: Bryant & O’Hallaron, Section 1.5 of the Stanford version (Section 8.5 of the full text)

#04: Shells and Pipes

Monday, July 2

#03: Intro to Multiprocessing

Friday, June 29

Reading: We are beginning material that is covered in Bryant & O’Hallaron, Chapter 1 of the Stanford version (Chapter 8 of the full text).

#02: System calls

Wednesday, June 27

Reading: Bryant & O’Hallaron, Chapter 2 of the Stanford version (Chapter 10 of the full text)

#01: Introduction to Filesystems

Monday, June 25

Reading: S & K Chapter 2 (section 2.5 is particularly relevant to these first few lectures, as well as your first assignment)