6.033 Learning Objectives
After 6.033, students are 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 justify one's design choices and assess the impact of their systems on different stakeholders.
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 and 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 and Philosophy
6.033 has three components: lectures, recitations, and tutorials. Each are integral to the class, and each serve a different purpose. We are intentional about using active learning techniques across all components of the class, as we have found them to improve participation and engagement. You can read more about that here and here.
Lectures
Lectures are held on Mondays and Wednesdays from 2:00pm-3:00pm. The lectures are designed to teach students the technical details necessary to design their own systems and to put those details in larger contexts: both the contexts of a specific area of systems as well as systems in general.
This type of material appears in lectures because that's what lectures are good at: giving a higher-level context for the details of the class.
Recitations
Recitations are held on Tuesdays and Thursdays (schedule below). We will assign you a permanent section during the first week of class.
Recitations are designed to give students a chance to practice their system-analysis and oral communication skills. Each recitation revolves around a particular paper in systems. Through reading these papers, students get a better sense of how communication in the field is done. Recitations are discussion-based; students get practice analyzing, critiquing, and communicating about systems.
Writing Tutorials
Writing tutorials are held on Fridays (schedule below). We will assign you timeslot during the first week of classes.
Most of these tutorials will teach the communication theory and practices of this course, and assist you in preparing for the assignments, particularly the design project. You'll become fluent in a variety of communication genres, develop strategies and skills needed to present technical concepts to different audiences, learn how to use writing to develop and deepen your technical understanding—and get specific, directed instruction on writing and presenting your 6.033 assignments.
Equal Access
The staff of 6.033 is committed to the principle of equal access. We encourage you to meet with Dr. LaCurts to discuss your disability-related needs, including accommodations which you may need in order to fully access this course.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 Exams (two @ 15% each) | |
5% for Hands-ons (six total, dropping the lowest score) | |
40%: | Communication + System design and analysis |
5% for the DP prep assignment | |
10% for DP preliminary report + DP presentation | |
20% for DP report | |
5% for the DP peer review | |
25%: | Participation |
20% for recitation participation | |
5% for communication participation |
Grade Components
Each assignment supports the objectives of 6.033 in various ways.
Technical Material
Exams: Exam 1 is held during the term. Exam 2 will be scheduled during finals week. Each exam 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 exams will test material from lectures, recitations, and the assigned reading, and let us test whether students have mastered the technical material.
Hands-ons: During some weeks, you will be expected to complete a hands-on experiment that requires a computer and sometimes the Internet. These assignments 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 ten 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 prep assignment, preliminary report, oral presentation, final report, and peer review. The Design Project page gives more detail about the DP deliverables, team assignments, etc.
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.)
- Asking questions
- 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.
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). We know that getting graded on participation can be stressful in some ways, so we've put together some more details to explain more about our philosophy and how you'll be graded. In general, as long as you remain a prepared and engaged member of recitation, you'll do just fine.
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.
Late Policy
If you're unable to hand in an assignment on time, or unable to attend an exam, reach out to your TA. As long as you let your TA know before the deadline, you can assume that we will give you at least a 24-hour extension on the assignment. If you feel that a longer extension is necessary, we'll work with you (and perhaps S3) to come up with a plan. Note that some of the design-project materials have more detailed late policies, which will be explicitly posted on each assignment.Recitation + Tutorial Schedule
Recitation Schedules
All recitation sections meet on Tuesdays and Thursdays.
Time | Room | Instructor | TA |
10:00am-11:00am | 34-301 | Karen Sollins | Sabrina Romero |
36-153 | Howard Shrobe | Suzanna Jiwani | |
36-156 | Henry Corrigan-Gibbs | Amir Farhat | |
11:00am-12:00pm | 34-301 | Karen Sollins | Sabrina Romero |
36-153 | Howard Shrobe | Suzanna Jiwani | |
36-156 | Henry Corrigan-Gibbs | Amir Farhat | |
34-303 | Mohammad Alizadeh | Terryn Brunelle | |
12:00pm-1:00pm | 34-303 | Mohammad Alizadeh | Terryn Brunelle |
36-155 | Larry Rudolph | Felipe Monsalve | |
1:00pm-2:00pm | 36-155 | Larry Rudolph | Felipe Monsalve |
24-307 | John Feser | Jessica Quaye | |
34-302 | Michael Cafarella | Phi Xu | |
38-166 | Adam Belay | Amelia Meles | |
2:00pm-3:00pm | 24-307 | John Feser | Jessica Quaye |
34-302 | Michael Cafarella | Phi Xu | |
38-166 | Adam Belay | Amelia Meles |
Tutorial Schedules
All tutorial sections meet on Fridays at the specified time (1:00pm or 2:00pm).
Time | Room | Instructor |
1:00pm-2:00pm | 5-234 | Amy Carleton |
35-308 | David Larson | |
26-314 | Laura McKee | |
4-231 | Thomas Pickering | |
26-210 | Elizabeth Stevens | |
26-204 | Jessie Stickgold-Sarah | |
26-142 | Michael Trice | |
24-307 | Brianna Williams | |
2:00pm-3:00pm | 5-234 | Amy Carleton |
26-314 | Keith Clavin | |
35-308 | David Larson | |
26-204 | Michael Maune | |
4-145 | Thomas Pickering | |
26-210 | Elizabeth Stevens | |
26-142 | Michael Trice | |
24-307 | Brianna Williams |
Teaching Teams
Recitations and tutorials are set up in 6.033 such that all of a recitaiton instructor's students are spread across a single WRAP instructor's tutorials (or, in some cases, two different WRAP instructors). For reference, here are the teaching teams this year:
Recitation Instructor | Wrap Instructor(s) | TA |
Mohammad Alizadeh | Laura McKee, Laura McKee and Keith Clavin | Terryn Brunelle |
Adam Belay | Michael Trice | Amelia Meles |
Mike Cafarella | Jessie Stickgold-Sarah and Michael Maune | Phi Xu |
Henry Corrigan-Gibbs | Amy Carleton | Amir Farhat |
John Feser | David Larson | Jessica Quaye |
Larry Rudolph | Thomas Pickering | Felipe Monsalve |
Howard Shrobe | Elizabeth Stevens | Suzanna Jiwani |
Karen Sollins | Brianna Williams | Sabrina Romero |
Collaboration
You may not collaborate on exams. 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.
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 | |
---|---|---|
Lecturer | Katrina LaCurts | lacurts at mit.edu |
Recitation Instructors | Mohammad Alizadeh | alizadeh at mit.edu |
Adam Belay | abelay at mit.edu | |
Henry Corrigan-Gibbs | henrycg at csail.mit.edu | |
Michael Cafarella | michjc at mit.edu | |
John Feser | feser at mit.edu | |
Larry Rudolph | rudolph at csail.mit.edu | |
Howard Shrobe | hes at csail.mit.edu | |
Karen Sollins | sollins at csail.mit.edu | |
WRAP Instructors | Amy Carleton | amymarie at mit.edu |
Keith Clavin | ||
Dave Larson | ||
Michael Maune | ||
Laura McKee | lmckee at mit.edu | |
Thomas Pickering | tpick at mit.edu | |
Elizabeth Stevens | stevense at mit.edu | |
Jessie Stickgold-Sarah | jmss at mit.edu | |
Michael Trice | mtrice at mit.edu | |
Brianna Williams | briannaw at mit.edu | |
TAs |
Terryn Brunelle | terryn at mit.edu |
Amir Farhat | amirf at mit.edu | |
Cassidy Fialkiewicz | cfialkie at mit.edu | |
Kriti Jain | kjain21 at mit.edu | |
Suzanna Jiwani | sjiwani at mit.edu | |
Jay Lang | jaytlang at mit.edu | |
Amelia Meles | ameles at mit.edu | |
Felipe Monsalve | monsalve at mit.edu | |
Jessica Quaye | jquaye at mit.edu | |
Sabrina Romero | sromeroa at mit.edu | |
Phi Xu | helenxu at mit.edu | |
Steve Yang | syang98 at mit.edu | |
LAs |
Kevin Chen | kschen at mit.edu |
Marlena Gomez | marlenag at mit.edu | |
Annie Liu | annieliu at mit.edu | |
Cem Tepe | cemarda at mit.edu | |
Ivy Wang | ivyw at mit.edu | |
Sophia Zhi | szhi at mit.edu |