6.824 - Spring 2022

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 in person in E25-111. 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 be closely related to 6.824 topics, and we must approve it in advance. 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 a lab 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 half the credit we would have given if you had handed it in on time. Please send us e-mail if you want us to grade an assignment that's more than 72 hours late. 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.

COVID procedures

If you cannot attend lectures in person, please watch the recorded lectures to keep up with the material. Office hours via Zoom will be available for those who prefer them or who cannot attend in person.

If you feel too sick to to keep up with labs, please e-mail 6824-staff@lists.csail.mit.edu and we will grant you an extension. We'll also waive lecture questions while you are sick.

We plan to have in-person exams. Please e-mail us as soon as possible if you won't be able to attend because you are sick or are isolating in accordance with MIT rules, and we will make alternate arrangements for you.

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.

Robert Morris 32-G972
Teaching assistants
Cel Skeggs
Assel Ismoldayeva
Anish Athalye

Office hours

We have a combination of in-person and Zoom office hours. Links to the queue, along with other information, are pinned on Piazza.

Day Time Location TA
Monday 4:00pm–6:00pm In-person, room 24-319 Assel
Tuesday 7:00pm–9:00pm Zoom Anish
Wednesday 5:00pm–7:00pm In-person, room 24-319 Assel
Thursday 3:00pm–5:00pm Zoom Anish
Thursday 6:00pm–7:30pm Zoom Cel
Friday 9:00am–10:00am Zoom Cel
Friday 6:30pm–8:00pm Zoom for now (may change) Cel

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 //