6.033 Learning Objectives
After 6.033, the students will be able to design their own distributed systems to solve real-world problems. The ability to design one's own distributed system includes an ability to argue for one's design choices.
This primary objective is supported by a few others:
- The students will be able to evaluate and critique existing systems, as well as their own system designs. As part of that, students will learn to recognize design choices made in existing systems.
- The students will be able to apply the technical material taught
in lecture to new system components. This implies an ability to
recognize and describe:
- How common design patterns in computer system—such as abstraction and modularity—are used to limit complexity.
- How operating systems use virtualization and abstraction to enforce modularity.
- How the Internet is designed to deal with scale, a diversity of applications, and competing economic interests.
- How reliable, usable distributed systems are able to be built on top of an unreliable network.
- Common pitfalls in the security of computer systems, and how to combat them.
Because 6.033 is a CI-M class, students will also learn to communicate in forms that are common in the field of computer systems. This includes written design reports, oral presentations, and peer review.
The communication instruction also supports the primary learning objective of designing systems. In the real world, we design systems in teams, and communication of many forms (written, oral, etc.) is part of that process.
Prerequisites: 6.004; 6.005 or 6.009
Units: 5-1-6
Requirements satisfied: CI-M for Course 6-1, 6-2, 6-3, 6-P, and
18-C
Textbook: 6.033 uses Saltzer and
Kaashoek's Principles
of Computer System Design: An Introduction (Morgan Kaufmann
2009). The text supplements the lectures and recitations; it should
be your first resource when you are confused by a lecture topic, or
want more information.
If you notice errors of any kind in the 6.033 text, from minor typos to major blunders, please report them by e-mail to saltzer@mit.edu and kaashoek@mit.edu.
You can find PDFs with corrections to the printed and online textbook here. A more up to date version of the Part II errata is here.
Course Structure
Lectures
Recitations
Writing Tutorials
Recitation + Tutorial Schedule
Recitations | Tutorials | |||||
# | Time | Location | Instructor | Instructor | Location | TA |
1 | 10am | 34-302 | Karen Sollins | Keith Clavin | 5-233 | Nayoung Lee |
2 | 11am | 34-302 | Karen Sollins | Keith Clavin | 5-233 | Nayoung Lee |
3 | 10am | 26-168 | Howie Shrobe | Laura McKee | 36-155 | Sophie Russo |
4 | 11am | 26-168 | Howie Shrobe | Laura McKee | 36-155 | Sophie Russo |
5 | 10am | 34-304 | Manya Ghobadi | Michael Trice & Rebecca Thorndike-Breeze | 24-121 | Vivian Zhang |
6 | 11am | 34-304 | Manya Ghobadi | Michael Trice & Rebecca Thorndike-Breeze | 24-121 | Vivian Zhang |
7 | 12pm | 32-144 | Olivia Brode-Roger | Jessie Stickgold-Sarah & Deepti Dhir | 34-304 | Katie Sedlar |
8 | 1pm | 36-155 | Olivia Brode-Roger | Jessie Stickgold-Sarah & Deepti Dhir | 34-304 | Katie Sedlar |
9 | 12pm | 34-304 | Mark Day | Caroline Beimford | 34-301 | Abbey Russell |
10 | 1pm | 34-304 | Mark Day | Caroline Beimford | 34-301 | Abbey Russell |
11 | 1pm | 34-302 | Steve Bauer | Amy Carleton | 36-372 | Kifle Woldu |
12 | 2pm | 34-302 | Steve Bauer | Amy Carleton | 36-372 | Kifle Woldu |
13 | 1pm | 36-372 | Mohammad Alizadeh | Juergen Schoenstein | 66-168 | Steven Okada |
14 | 12pm | 34-302 | Mohammad Alizadeh | Juergen Schoenstein | 66-168 | Steven Okada |
15 | 1pm | 38-166 | Tim Kraska | Mary Caulfield | 3-442 | Kevin Cho |
16 | 2pm | 38-166 | Tim Kraska | Mary Caulfield | 3-442 | Kevin Cho |
17 | 1pm | 35-310 | Adam Belay | Linda Sutliff | 1-379 | Sam DeLaughter |
18 | 2pm | 35-310 | Adam Belay | Linda Sutliff | 1-379 | Sam DeLaughter |
Staff
To contact the course staff as a whole, please use Piazza unless you need to email a staff member individually. You can post a private question on Piazza if you do not want your communication to be visible to the other students in the class.
Role | Name | |
---|---|---|
Lectures | Katrina LaCurts | lacurts at mit.edu |
Recitations | Mohammad Alizadeh | alizadeh at mit.edu |
Steve Bauer | bauer at mit.edu | |
Adam Belay | abelay at mit.edu | |
Olivia Brode-Roger | nibr at mit.edu | |
Mark Day | mday at mit.edu | |
Manya Ghobadi | ghobadi at mit.edu | |
Tim Kraska | kraska at mit.edu | |
Howard Shrobe | hes at csail.mit.edu | |
Karen Sollins | sollins at csail.mit.edu | |
Tutorials | Caroline Beimford | beimford at mit.edu |
Amy Carleton | amymarie at mit.edu | |
Mary Caulfield | mcaulf at mit.edu | |
Keith Clavin | ||
Deepti Dhir | ddhir at mit.edu | |
Laura McKee | lmckee at mit.edu | |
Juergen Schoenstein | juergen at mit.edu | |
Jessie Stickgold-Sarah | jmss at mit.edu | |
Linda Sutliff | lsutliff at mit.edu | |
Rebecca Thorndike-Breeze | rtb at mit.edu | |
Michael Trice | mtrice at mit.edu | |
TAs |
Kevin Cho | kcho13 at mit.edu |
Sam DeLaughter | samd at mit.edu | |
Barbie Duckworth | birdy at mit.edu | |
Nayoung Lee | nayoung at mit.edu | |
Steven Okada | skokada at mit.edu | |
Abbey Russell | amruss at mit.edu | |
Sophie Russo | ssrusso at mit.edu | |
Katie Sedlar | ksedlar at mit.edu | |
Kifle Woldu | kwoldu at mit.edu | |
Vivian Zhang | vivzhang at mit.edu |
Grading
6.033 consists of three components: technical material, communication/system design and analysis, and participation. Each of these components comprises roughly one third of your grade, according to the following breakdown:
35%: | Technical Material |
---|---|
30% for Quizzes (two @ 15% each) | |
5% for Hands-ons | |
40%: | Communication + System design and analysis |
10% for DP preliminary report + DP presentation | |
20% for DP report | |
4% for the DP peer review | |
6% for critiques (2%, 4%) | |
25%: | Participation |
20% for recitation participation | |
5% for communication participation |
Late Policy
You must hand in assignments when they are due, and you must attend quizzes at the scheduled times. If you feel you have a compelling reason for not handing in an assignment on time, or for not attending a quiz, please talk to Dr. LaCurts in advance; with support from S3 we will make exceptions.The only exception to this late policy is design-project materials. For those, the late policy will be explicitly posted on each assignment.
If you miss an assignment deadline, you should still hand in the assignment; we'll give you feedback even though we won't give you credit for your final grade. Furthermore, doing assignments is the best way to prepare for exams and design project. Unless otherwise specified, assignments are due at 5:00pm on their assigned due-date (hands-ons are due at 11:59pm).
Grade Components
Each assignment supports the objectives of 6.033 in various ways.
Technical Material
Quizzes: One quiz is held during the term. A second quiz will be scheduled during finals week. Each quiz will focus on half of the class' material, but keep in mind that later topics in 6.033 build heavily upon the earlier topics. The quizzes will test material from lectures, recitations, and the assigned reading, and let us test whether students have mastered the technical material.
Hands-ons: During most weeks, you will be expected to complete a hands-on experiment that requires a computer, usually an Athena workstation, and sometimes the Internet. These reinforce some of the abstract concepts from the lectures or papers that week, and let you find out how things really work.
Communication + System design and analysis
The 6.033 staff have worked with the MIT Writing, Rhetoric, and Professional Communication (WRAP) program for more than 10 years to design 6.033 writing and speaking assignments. We have chosen assignments that are similar to the kinds of writing you will do in the engineering workplace: preliminary reports, final reports, and presentations. Communication assignments are designed to help you conceptualize and develop the design project.
Design Project
The primary assignment in 6.033 is the design project (DP). This project is where the students get to design their own system, which is the primary objective of this course.
The DP requires you to develop a detailed system design to solve a real-world problem. This project will extend over most of the semester, and will be done in teams of three students, all of whom attend the same writing tutorial (with exceptions only for extenuating circumstances). Real-world systems are not built individually; it's always a team effort. Part of the DP is to learn to work productively and effectively in this setting. We will give you tools for doing so in the writing tutorials.
The DP consists of multiple deliverables: a preliminary report, oral presentation, final report, and peer review. The Design Project page gives more detail about the DP deliverables.
System Critiques
One of the goals of 6.033 is for students to be able to analyze and critique technical systems. We will assign multiple system critiques during the semester.
These critiques will be graded by your TAs and/or Communication Instructors, and assigned a letter grade (we will specify more details about grading in each of the assignments). The expectations for each individual critique will be detailed in the tutorials. As your skills at analyzing and reading technical papers improve throughout the semester, we will expect your critiques to reflect that.
Participation
Recitation Participation
Our recitations are discussion-based, and we expect you to be engaged and participate. Participating in a recitation means:
- Coming prepared to recitation (doing the reading, turning in the pre-reading question etc.)
- Paying attention when the instructor is speaking (you can't participation in a discussion if you don't know what it's about)
- Participating (verbally) in pair-/group-work
- Volunteering to answer questions when the instructor asks them. (Note that you may not get called on each time. That's okay; our class sizes prevent that. Statistically, if you're raising your hand frequently, you'll get called on with some frequency.)
- Responding to other student's comments with an opinion of their own.
- Asking good questions in recitation (where "good" just means it's clear that you prepared for the recitation).
We will assign the participation grade at the end of the semester. So that you know where you stand throughout the class, we will you three preliminary participation grades (one about a quarter into the semester, one about halfway through, and one three quarters into the semester). This document explains in more detail how your participation grade is determined.
Communication Participation
A portion of your participation grade will also be based on your participation in writing tutorials and on your understanding of communication concepts and skills, as demonstrated by your work on the design project and evaluated by your communication instructor.
Note that over a third of your grade comes from written assignments: we expect you to take writing seriously in this class.
Collaboration
You may not collaborate on quizzes. On hands-ons, it's okay to discuss ideas with your classmates, but you should not be collaborating on the actual answers. Take the UNIX hands-on for example: it's okay to talk to your classmates about what pipes are, it's not okay to work together to come up with a command that gives a long listing of the smallest give files in the /etc directory whose name contains the string ".conf", sorted by increasing file size (i.e., the solution to one of the first questions).
On all writing assignments you are welcome to discuss ideas with others, but your writing should be your own and you should acknowledge all contributions of ideas by others, whether from classmates or from papers you have read.