Course Overview
A printable version course overview is also available.
Contents
Introduction
This graduate research course is aimed at Ph.D. students in Area II.
M.Eng. students who plan to write their Master's thesis on the topic
of parallel systems may also wish to participate. This class cannot
be used to satisfy the TQE requirements for the Ph.D. program.
This class covers theoretical foundations of general-purpose parallel
computing systems, from languages to architecture. We will focus on
the algorithmic underpinnings of parallel systems. The topics for the
class will vary depending on student interest, but will likely include
multithreading, synchronization, race detection, load balancing,
memory consistency, routing networks, message-routing algorithms, and
VLSI layout theory. The class will emphasize randomized algorithms
and probabilistic analysis, including high-probability arguments.
The focus of the class is the term project, which can be done
individually or in groups of two and will account for 70 percent of
the grade. Students are encouraged to advance their own research
interests in their project. The hope is that many of these term
projects will lead to theses or publishable papers. In addition,
there will be several problem sets and programming labs.
A detailed schedule of topic coverage will appear in the Course Calendar.
Course Schedule
Lectures are currently scheduled for:
- Until daylight savings time ends:
- 8-10pm on Mondays EDT
- 10-11:30am on Wednesdays EDT
- After daylight savings ends:
- 7-9pm on Mondays EST
- 10-11:30am on Wednesdays EST
Both lectures will be attended by students from Singapore. Lectures
will be videotaped and made available on the Singapore-MIT Alliance website.
These videos will be available for viewing on-line.
Course Website
The class has a comprehensive web site:
http://theory.lcs.mit.edu/classes/6.895/
All course information such as
are available on this website. We will generally
not distribute any paper handouts.
Course notes, problem sets and solutions, etc., will be posted on the
course website. It is always worth checking the website
for corrections and announcements before starting problem sets.
Prerequisites
The official prerequisites for the course are 6.046J (Introduction to Algorithms} and 6.170 (Laboratory in Software Engineering) (or
courses covering equivalent material), but since this class is
intended for graduate students, a general undergraduate education in
computer science is assumed.
Course Requirements
The course consists of three primary components:
- Lectures: Each student creates scribe notes for
approximately two lectures (more or less depending on the number of
students in the course). Two students are assigned to each lecture,
and they work together to generate high quality notes for the lecture.
They then meet with one of the staff of the course to go over the
notes generated, before being published to the web. Scribe notes
should be produced as soon after the lecture as possible. Optimally,
a first draft should be completed within a few days, as scheduled with
the lecturer. The goal is to produce the final version of the scribe
notes within a week of the lecture being given. Scribe notes will
account for 20 percent of the grade.
- Problems: Each week new problems will be posted to the
course web site. These will range in difficulty from easy exercises
to open problems (noted by ***). Problems will be due two weeks from
when they are posted on the website. When you submit the problem set,
please complete the information for collaboration: Collaborators: Names (or "None") at the top of the cover
page. You should also cite references appropriately. Problem sets
will account for 10 percent of the grade.
- Final Project: A major requirement of the course is a
final project. The final project will account for 70 percent of the
grade. Students will work either alone or in groups of two to
complete a significant research project. As the semester goes on, we
will post project ideas and open problems to the website. As people
show interest in projects, we will add their name to the website, to
encourage collaboration.
Course Books
One goal of this course is to produce a good set of scribe notes,
describing the material presented in this course. To this end, it is
recommended that you obtain a copy of Lamport's Latex User's
Guide and Reference Manual , or some equivalent latex manual.
Office Hours
The TA office hours will be arranged. The lecturers are available by
appointment, however people to talk with about the class will often be
in the SuperTech Pit (outside rooms 228-236) and the 2nd Floor Lounge
in NE-43.
Collaboration
Throughout the class, collaboration is encouraged. The goal of
homeworks is to give you practice in mastering the course material.
Consequently, you are encouraged to collaborate on problem
sets. You must write up each problem solution by yourself,
however, even if you collaborate with others to solve the problem. If
you do collaborate on homework, you must cite in a scholarly manner
all of your collaborators.
Similarly, collaboration is expected on the final projects.
Groups of two will probably be the norm. We will try to help group
together students with similar interests to work on exciting open
problems.
Questions, Suggestions, and Complaints
You can send email to 6895-staff@theory.lcs.mit.edu
and several other choices on the contact page.
This document last modified