CSCI-UA.0480-008: Advanced Computer Systems

Latest Announcements

5/20: Final grades submitted to registrar.
Have a nice summer!
5/4: Final exam review next Tuesday evening, 8:00-9:30 PM
It will be held in our usual classroom, WWH 312
4/18: Office hours switches on Friday and Monday
George will cover Mike's office hours on Friday, April 22 from 3:00-4:00 PM (this will be in George's usual location). Mike will cover George's office hours on Monday, April 25 from 3:00-4:00 PM.
4/15: Lab 5 released
There are two parts. Part A is due is Friday, April 22 at 8:00 PM. Part B is due Wednesday, May 4, at 9:00 PM.
3/27: Lab 4 released
There are two parts. Part A is due is Wednesday, April 6 at 9:00 PM. Part B is due due Friday, April 15, at 8:00 PM.
3/8: Midterm solutions posted on the exams page
Please let us know if you see any issues.
3/6: Notes from midterm review posted
Notes from the midterm review are on the schedule page.
3/4: A few notes about the exam and the review
  • There is a review session this Sunday evening 7:00-8:30 PM in our usual classroom.
  • The exams section has some prior exams I've given. Please take these as an example of possible style, rather than content.
  • To the exam, you can bring your own notes and copies of the assigned papers. You can not bring printed (or transcribed) copies of the posted class notes or the lab's source code.
3/1: Three updates to Lab 3
  • There is now a part C
  • Pair programming is now permitted for parts B and C
  • Parts (A,B,C) versus Sections (1,2,3,4) is clarified
2/23: Lab 3 released
There are two parts with different deadlines. The first due date is Wednesday, March 2 at 10:00 PM. The second half of the lab is due Friday, March 11, at 8:00 PM. There is a third part; it will either be due after spring break or else become extra credit (we haven't decided yet).

See all announcements RSS 2.0 feed

Course information

Description and content

This course will deepen your understanding of complex computer systems: how these systems work, how to approach a given system or proposal critically, and how to design and build systems. We are going to start with an overview of computer networking (focusing on the wired Internet), and then cover systems security in depth. From these two topics, you will learn "how today's networked services work." (The topic of security is an effective way to communicate this understanding because thinking through security requires considering many aspects of a system. Plus, security is interesting.) Where we go after these two units will depend in part on student interest. Options are to dive into security in even more depth or to branch out and cover concurrency and parallelism, performance analysis, distributed systems, etc.

Here's a FAQ about the registration mechanics and expected difficulty.

The work

We assume that you check the announcements (either on this site or by RSS) every 24 hours. Also, we will use Piazza. Finally, we will occasionally email you (for the most urgent communications). You are responsible for monitoring all three of these media.

A note about the labs

We recommend that you start the labs long before they are due. The standard advice is "Start the labs early", but that is not quite right. The best advice, we think, is "Start the labs on time, but on time is probably much earlier than you think it is".


We are indebted to the staff of MIT's 6.858. This site relies on software to generate course Web pages, developed by Dave Andersen and Nick Feamster.

Last updated: 2016-06-04 09:16:06 +0100 [validate xhtml]