Overview
Here is a brief list of topics that will be covered in the
course:
- Languages and compilers to exploit multithreaded parallelism.
- Implicit parallel programming using functional languages and their
extensions.
- Higher-order functions, non-strictness, and polymorphism.
- Explicit parallel programming and nondeterminism.
- The lambda calculus and its variants.
- Term rewriting and operational semantics.
- Compiling multithreaded code for symmetric multiprocessors and
clusters.
- Static analysis and compiler optimizations.
Course Information
Warning: All information on this website is preliminary
and subject to change.
Lectures: Lectures will be from 9:30 AM to 11:00 AM
every Monday and Wednesday in room 26-314.
Office Hours: F3-5, NE43-206
Grading: There are three items that contribute to
the final grade: problem sets, a midterm examination, and a course project.
Each of them will be counted in according to the following table:
| Problem Sets |
50% |
| Midterm Exam |
25% |
| Course Project |
25% |
Homework: Your grade will be based entirely on homework
assignments. We expect to hand out 4 problem sets, and you'll have 1.5
to 2 weeks to complete each one. Homework problems will be graded by students.
Each student in the class will be responsible for grading two problems
of a problem set during the term (extra problems will be graded by the TAs).
The grader for a particular problem will automatically receive maximum credit
for that problem. Graders for a problem set will be selected shortly before
that problem set is due. If you wish to grade a particular problem set problem,
send email to the TA's a week in advance of the due date. The grader for
a problem will be chosen at random from among the volunteers. If no one volunteers
for a particular problem, a student who hasn't graded yet will be randomly
chosen. As a grader, you are responsible for setting up a meeting with the
TA's within a day or two after the problem set due date. You'll go over the
problem with them in detail and receive the stack of student solutions. Then,
one week after the problem set is due you will be responsible for returning
the graded problem sets to the TAs along with a solution and a grade tabulation.
The TA's will explain this process in more detail when you meet with them.
To facilitate the grading process, we ask that each numbered homework problem
be turned in as a separate packet. Most problems will have several lettered
parts. Each part will receive a check (correct and satisfactory), a check
plus (outstanding), a check minus (unsatisfactory), or a zero (not turned
in or indecipherable).
Collaboration and Academic Honesty Policy: For problem
sets, students are encouraged to collaborate in groups of up to 3 people.
A group needs to hand in only one copy of the solution to a problem set.
Groups need not remain the same throughout the course. We only need to know
the names of the people who worked together on a particular problem set
submission. Students in different groups are not allowed to collaborate
on a problem set. Furthermore, it is explicitly forbidden to refer to previous
years' problem sets and solutions (course bibles).
Course Reading Materials: Implicit Parallel Programming in
pH by Rishiyur S. Nikhil and Arvind is the main textbook used in this
course. This book is available at Quantum Books for around $65.
Facilities: Programming assignments for the course will be implemented
in two programming languages: pH (parallel Haskell) and Hugs. A Hugs compilers
will be available in the 6.827 Athena locker.
Home Page: The home page for the course is: http://web.mit.edu/6.827/www/.
Here you will find course related information like handouts, manuals, problem
set hints, etc... Make sure you refresh this page frequently, as it will
change often and caching in your Web browser may prevent you from seeing
the latest version.
Communication: Email is a great thing, but it is not
a substitute for attending office hours. You are free to email the TA with
questions, comments, etc., but unless the problem is extremely urgent --
like a bug report that affects an assignment for the whole class---the TA
will respond at their convenience or during office hours. The 6.827 staff
can be reached for questions, etc., via email at 6827-ta@abp.lcs.mit.edu. We will
mail all announcements, clarifications to assignments, answers to common
questions, etc., to the course email list -- 6827@abp.lcs.mit.edu.
|