Principles of computer systems

Master

In Maynard (USA)

Price on request

Description

  • Type

    Master

  • Location

    Maynard (USA)

  • Start date

    Different dates available

6.826 provides an introduction to the basic principles of computer systems, with emphasis on the use of rigorous techniques as an aid to understanding and building modern computing systems. Particular attention is paid to concurrent and distributed systems. Topics covered include: specification and verification, concurrent algorithms, synchronization, naming, networking, replication techniques (including distributed cache management), and principles and algorithms for achieving reliability.

Facilities

Location

Start date

Maynard (USA)
See map
02139

Start date

Different dates availableEnrolment now open

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Systems
  • Project
  • Algorithms

Course programme

Lectures: 2 sessions / week, 1.5 hours / session


Lectures are held twice per week, 1.5 hours a session (at least, we are starting there). Messrs. Lampson and Rinard will split the lectures. The tentative schedule is at the end of this handout.


The source material for this course is an extensive set of handouts. There are about 400 pages of topic handouts that take the place of a textbook; you will need to study them to do well in the course. Since we don’t want to simply repeat the written handouts in class, we will hand out the material for each lecture one week in advance. We expect you to read the day’s handouts before the class and come prepared to ask questions, discuss the material, or follow extensions of it or different ways of approaching the topic.


Seven research papers supplement the topic handouts. In addition there are 5 problem sets, and the project described below. Solutions for each problem set will be available shortly after the due date.


Current handouts will generally be available in lecture. If you miss any in lecture, you can obtain them afterwards from the course secretary.


There is a problem set approximately once a week for the first half of the course. Problem sets are handed out once a week in class and are due next week. They normally cover the material discussed in class during the week they are handed out. Delayed submission of the solutions will be penalized, and no solutions will be accepted after the due date.


Students in the class will be asked to help grade the problem sets. Each week a team of students will work with the TA to grade the week’s problems. This takes about 3-4 hours. Each student will probably only have to do it once during the term.


We will try to return the graded problem sets, with solutions, within a week after their due date.


Policy on collaboration:


We encourage discussion of the issues in the lectures, readings, and problem sets. However, if you collaborate on problem sets, you must tell us who your collaborators are. And in any case, you must write up all solutions on your own.


During the last half of the course there is a project in which students will work in groups of three or so to apply the methods of the course to their own research projects. Each group will pick a real system, preferably one that some member of the group is actually working on but possibly one from a published paper or from someone else’s research, and write:


A specification for it.


High-level code that captures the novel or tricky aspects of the actual implementation.


The abstraction function and key invariants for the correctness of the code. This is not optional; if you can’t write these things down, you don’t understand what you are doing.


Depending on the difficulty of the specification and code, the group may also write a correctness proof for the code.


Projects may range in style from fairly formal, like handout 18 on consensus, in which the ‘real system’ is a simple one, to fairly informal (at least by the standards of this course), like the section on copying file systems in handout 7. These two handouts, along with the ones on naming, sequential transactions, concurrent transactions, and caching, are examples of the appropriate size and possible styles of a project.


The result of the project should be a write-up, in the style of one of these handouts. During the last two weeks of the course, each group will give a 25-minute presentation of its results. We have allocated four class periods for these presentations, which means that there will be twelve or fewer groups.


The projects will have five milestones. The purpose of these milestones is not to assign grades, but to make it possible for the instructors to keep track of how the projects are going and give everyone the best possible chance of a successful project


Half the groups will be ‘early’ ones; the other half will be ‘late’ ones that give their presentations one week later. The due dates of proposals and interim reports will be spread out over two weeks in the same way. See the schedule later in this handout for precise dates.


There are no exams. Grades are based 30% on the problem sets, 50% on the project, and 20% on class participation and quality and promptness of grading.


Don't show me this again


This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.


MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.


No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.


Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.


Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)


Learn more at Get Started with MIT OpenCourseWare


Principles of computer systems

Price on request