6.824 - Spring 2021

General Information

Structure // Grading policy // Staff // Office Hours // Acknowledgements //


6.824 is a core graduate subject with lectures, labs, an optional project, a mid-term exam, and a final exam. 12 units, 6 EDPs.

Class meets TR1-2:30 via synchronously-recorded zoom meeting (link will be posted in Piazza). Most class meetings will be part lecture and part paper discussion. You should read the paper before coming to class, and be prepared to discuss it. The schedule indicates the paper to read for each meeting.

We will post a question about each paper 24 hours before the beginning of class on the schedule (see Question link for each paper). Your answer need only be long enough to demonstrate that you understand the paper; a paragraph or two will usually be enough. We won't give feedback, but we will glance at your answers to make sure they make sense, and they will contribute to your grade. For each lecture you must also submit your own question about the paper.

6.824 will have a midterm exam during the ordinary lecture time, and a final exam during finals week. You must attend both exams. There will be no make-up or alternate conflict time for the midterm exam. (If you have time-zone challenge, please send us email.)

There are programming labs due every week or two throughout the term. These labs are to be done individually.

Towards the end of the term you can choose between doing a final project based on your own ideas, or doing Lab 4. If you want to do a project, you must form a team of two or three people, the project must involve ideas covered in 6.824, and we must approve it. You'll hand in a short project proposal, and, if we approve, you'll design and build a system; at the end of the term you'll hand in a summary of your results (which we'll post) and do a short presentation and demo in class.

To do well in 6.824, you should already be familiar with computer systems to the level of 6.033 and 6.004, and you should be good at debugging, implementing, and designing software, perhaps as a result of taking programming-intensive courses such as 6.828 and 6.035.


Final course grades will be based on:

To help you cope with unexpected emergencies, you can hand in your Lab 1, 2, 3, and 4A solutions late, but the total amount of lateness summed over all the lab deadlines must not exceed 72 hours. You can divide up your 72 hours among the labs however you like; you don't have to ask or tell us. You can only use late hours for Labs 1, 2, 3, and 4A; you cannot use late hours for Lab 4B or for any aspect of the project.

If you hand an assignment in late, and your total late time (including the late time for that assignment) exceeds 72 hours, and you hand it in by the last day of classes, then we'll give it a D if it seems to mostly work, or zero credit if it doesn't. We will not accept any work after the last day of classes, regardless of late hours. If you don't hand in an assignment by the last day of classes, we'll give the assignment zero credit.

If you want an exception to these rules, please ask S3 to send us an excuse note.

Collaboration policy

You must write all the code you hand in for the programming assignments, except for code that we give you as part of the assignment. You are not allowed to look at anyone else's solution. You may discuss the assignments with other students, but you may not look at or use each other's code.

Please do not publish your code or make it available to current or future 6.824 students. github.com repositories are public by default, so please don't put your code there unless you make the repository private. You may find it convenient to use MIT's GitHub, but be sure to create a private repository.

You may discuss the paper questions with other students, but you may not look at other students' answers. You must write your answers yourself.


Please use 6824-staff@lists.csail.mit.edu to send questions or comments about the course to the staff.

Frans Kaashoek 32-G992
Teaching assistants
Cel Skeggs
David Morejon
Jose Javier Gonzalez
Lily Tsai

Office hours

Office hours will be held on Zoom. Links will be pinned on Piazza.
We're aiming to replicate the in-person experience as much as possible, meaning that we want to encourage student collaboration while you wait for staff help. If you want to work with other students, join the "main room" of the Zoom session for that day. When you are claimed from the queue, the TA will put you in a breakout room for 1-1 help.


Time (ET)
Sun 6-8PM Cel
Mon 2:30-4:30PM David
Tues 11AM-1PM Lily
Tues 5-7PM Jose
Wed 10AM-Noon David
Wed 5-7PM Cel
Thurs 10AM-Noon Jose
Thurs 2:30-4:30PM Lily

Appointments with staff outside of the listed office hours can be setup via email or private Piazza post.


Robert Morris, Frans Kaashoek, and Nickolai Zeldovich developed much of the 6.824 course material.

Questions or comments regarding 6.824? Send e-mail to 6824-staff@lists.csail.mit.edu.

Top // 6.824 home //