I am using this page to accumulate some Frequently Asked Questions (where “frequently asked” means “asked more than once” or “only aske once, but it was a good question and others should know”).

Differences from previous years

Is this going to be the same as last year?

Last year’s course was offered by Prof. Ken Birman, who has since retired. This year’s offering is by Prof. David Bindel, who has revamped the course. There are many changes in the most recent version: different programming language, different assignments, different grading scheme, etc. When in doubt, trust the syllabus at this page.

Do I need to know Rust in advance?

No. I assume you know C. We will spend the first couple weeks learning about the Rust programming language, enough to get you up to speed for the semester.

Will we be building ML infrastructure?

No. We will be building networked software on the cloud by the end of the class, but the projects currently do not involve building ML infrastructure. There is an ML systems course periodically offered by Prof. Chris De Sa that may be more relevant if this is what you want.

What is the grading scheme?

The grading scheme is stated on the syllabus. For Fall 2026, it is

  • Labs: 12%
  • Class: 10%
  • Coding assignments: 18%
  • Midterm: 30%
  • Final: 30%

Class logistics

What is the difference between 4414 and 5416?

CS 4414 is intended for undergraduates. The CS systems course requirement will be satisfied by CS 4414, but not by CS 5416. Conversely, graduate students can only use 5416 for credit. 5416 has an additional elarning objective of proficiency building networked codes to run on a Linux-based cloud platform, and there will be some differences in exams (and additional project questions) based on this.

Are the discussions / labs mandatory?

Yes. In order to make it possible for everyone to participate, we added a lab section at 8:40-9:55 in addition to the one in the afternoon.

Is the 3410 pre-requisite mandatory?

If you have learned C programming and some compute organization in another way, you will likely be fine. You may want to go through the CS 3410 web page to see what this means. Not everything from that class will be explicitly used, but we will generally assume it as prior knowledge.

Can I be excused from a lecture or lab?

Per the grading scheme, you need to show up to 12 labs (out of 14) and 20 lectures (out of 28) for full credit for participation. This is meant to cover all sorts of absences, including conference talks, illnesses, and interviews. Missing more will result in a (rather modest) penalty.

If you have medical issues that will cause you to miss a significant part of the semester, please reach out to SDS and to your college advising staff to help coordinate your accommodations — these things are usually more complicated than one course, and coordination helps all of us.

If there is another compelling reason why you need to miss more than this, please come talk to me in person, either during office hours or by picking a time on the calendar.

Registration

Can I show up if I am not registered?

As long as the room does not overflow, I don’t plan to kick anyone out.

Why can’t I register? Am I missing a prerequisite?

The CS courses are initially restricted in registration in order to give CS majors and MEng students a chance to get the courses that they need. You should be able to add yourself to a waitlist (soon, if not now). At the time of this writing, there is plenty of space in the room.

If you are having trouble and don’t think the system is allowing you to add yourself to the waitlist, first read the FAQ, and if that doesn’t resolve things, file a ticket.

I have a conflict with the Friday afternoon discusison, can I still take the class?

Please register for the Friday morning discussion section. The class is currently organized so that the discussion is required.