Design Project

The Design Project has been released.

Additional Announcements

You can view your recitation assignments here (MIT certificates required).

If you are considering taking 6.033 this semester, and have a question about whether that's a good idea, please check out our FAQ for interested students.

We will be using Piazza for course announcements; please sign up there.

6.033 will be using Saltzer and Kaashoek's Principles of Computer System Design: An Introduction (Morgan Kaufmann 2009), which you can find at the MIT COOP. 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.

Course Calendar

We will release the Spring 2017 assignments as the semester progresses. The contents of this calendar for days more than two weeks in the future may be missing or inaccurate.

MondayTuesday WednesdayThursday Friday
feb 6

Reg day
feb 7
REC 1: Worse is Better

Assigned: Hands-on DNS

First day of classes
feb 8
LEC 1: Coping with Complexity: Enforced Modularity via Client/server Organization (slides)

Reading: Book sections 1.1-1.5, and 4.1-4.3
feb 9
REC 2: Therac-25 (Canceled due to snow)
feb 10
TUT 1: What/How/Why Framework

Assigned: System critique #1
feb 13
LEC 2: Naming

Reading: Book sections 2.2, and 3.1
feb 14
REC 3: DNS

Assigned: Hands-on UNIX
feb 15
LEC 3: Virtual memory (slides)

Reading: Book sections 5.1, 5.3, and 5.4
DUE: Hands-on DNS
feb 16
REC 4: UNIX
feb 17
TUT 2: Stasis Theory and System Critiques
feb 20
President's day
feb 21
LEC 4: Bounded buffers and locks (slides)

Reading: Book section 5.2
DUE: Hands-on UNIX
Assigned: Hands-on Valgrind
feb 22
LEC 5: Threads (slides)

Reading: Book sections 5.5 and 5.6
feb 23
REC 5: UNIX
feb 24
TUT 3: DP discussion

DUE: System critique #1
Assigned: DP preliminary report (see also: DP materials)
feb 27
LEC 6: OS structure, Virtual Machines

Reading: Book section 5.8
feb 28
REC 6: Eraser

DUE: Hands-on Valgrind
DUE: Send team list to TA
Assigned: Hands-on MapReduce
mar 1
LEC 7: Performance

Reading: Book sections 6.1, 6.2, and 6.3.4
mar 2
REC 7: MapReduce
mar 3
TUT 4: Team-writing and collaboration
mar 6
LEC 8: Intro to networking

Reading: Book section 7.2 (book chapters 7-11 are online)
mar 7
REC 8: The Design Philosophy of the DARPA Internet Protocols

DUE: Hands-on MapReduce
Assigned: Hands-on traceroute
mar 8
LEC 9: Routing and BGP

Reading: BGP tutorial through Section 3.2
Assigned: System critique #2
mar 9
REC 9: RON
mar 10
TUT 5: DP Preliminary Report/RFPs


ADD DATE
mar 13
LEC 10: Transport layer

Reading: Chapter 19 of the 6.02 notes
mar 14
REC 10: Bufferbloat

DUE: Hands-on traceroute
Assigned: Hands-on TCP
mar 15
LEC 11: In-network resource management
mar 16
REC 11: DCTCP
mar 17
TUT 6: Design Choices and Justifications

DUE: System critique #2
mar 20
LEC 12: Overcoming the Internet's architecture with P2P Networks
mar 21
REC 12: Akamai

DUE: Hands-on TCP
mar 22
LEC 13: Wireless networks
mar 23
REC 13: End-to-End Arguments
mar 24
TUT 7: No tutorial

DUE: DP preliminary report
mar 27
Spring break
mar 28
Spring break
mar 29
Spring break
mar 30
Spring break
mar 31
Spring break
apr 3
LEC 14: Reliability

Reading: Book sections 8.1, 8.2, and 8.3
apr 4
REC 14: Distributed Storage
apr 5
LEC 15: Transactions (Atomicity + Isolation)

Reading: Book sections 9.1, 9.2.1, and 9.2.2
apr 6
REC 15: Canceled (prep for the quiz!)


QUIZ 1: 7:30pm-9:30pm; Location TBD
apr 7
TUT 8: DP presentation and figures

Assigned: DP Presentation
apr 10
LEC 16: Atomicity via Logging

Reading: Book section 9.3
apr 11
REC 16: LFS

Assigned: Hands-on Logging
apr 12
LEC 17: Isolation

Reading: Book sections 9.4 before 9.4.1, and 9.5
apr 13
REC 17: Databases
apr 14
TUT 9: TBD
apr 17
Patriots day
apr 18
Patriots day
apr 19
LEC 18: Distributed transactions

Reading: Book section 9.6

DP Presentations should be scheduled between 4/19 and 4/25
apr 20
REC 18: PNUTS

DUE: Hands-on Logging
apr 21
TUT 10: DP analysis/evaluation

Assigned: DP Report
apr 24
LEC 19: Availability via Replication

Assigned: Hands-on DB and RSMs
apr 25
REC 19: RAFT
apr 26
LEC 20: Security intro

Reading: Book section 11.1
DUE: Hands-on DB and RSMs
Assigned: Hands-on buffer overrun
apr 27
REC 20: Beyond Stack Smashing


DROP DATE
apr 28
TUT 11: How to write a design report

Assigned: Peer Review
may 1
LEC 21: Authentication and passwords

Reading: Book section 11.2

CI instructors will be holding office hours this week and next for help with the design report.
may 2
REC 21: Why Cryptosystems Fail

DUE: Hands-on buffer overrun
Assigned: Hands-on trust
may 3
LEC 22: Secure channels

Reading: Book sections 11.3, 11.4, and 11.5
may 4
REC 22: DNSSEC
may 5
TUT 12: How to do a Peer Review
may 8
LEC 23: Network security and DDoS attacks

DUE: DP Report
may 9
REC 23: Botnets

DUE: Hands-on trust
may 10
LEC 24: Underground Web Technologies
may 11
REC 24: Bitcoin
may 12
TUT 13: No tutorial

DUE: Peer Review
may 15
LEC 25: State-of-the-art in Systems

Reading: The Night Watch
may 16
REC 25: Morality in Systems + DP wrap-up
may 17
LEC 26: TBD
may 18
REC 26: TBD


Last day of classes
may 19
may 22
Quiz 2: 9:00am-11:00am, Johnson Track

Final exam week
may 23

Final exam week
may 24

Final exam week
may 25

Final exam week
may 26

Final exam week