MIT OpenCourseWare
  • OCW home
  • Course List
  • about OCW
  • Help
  • Feedback
  • Support MIT OCW

Calendar

Help support MIT OpenCourseWare by shopping at Amazon.com! Partnering with Amazon.com, MIT OCW offers direct links to purchase the books cited in this course. Click on the book titles and purchase the book from Amazon.com, and MIT OCW will receive up to 10% of all purchases you make. Your support will enable MIT to continue offering open access to MIT courses.

This calendar provides the lecture topics for the course, along with links to corresponding lecture notes, problem sets, and quizzes. The pH Book reading assignments refer to the required textbook for the course, Nikhil, Rishiyur S., and Arvind. Implicit Parallel Programming in pH. 1st ed. Boston, MA: Morgan-Kaufmann, 2001. ISBN: 1558606440. (see Morgan Kaufmann for more information).

Part I: Programming in pH and the ג-calculus
LEC #  TOPICS HANDOUTS READINGS REMARKS
1 Expressing Parallel Computation
  • pH Book,
    Chapter 1
2 Implicitly Parallel Multithreaded Programming
  • Lecture Notes (PDF)
3 The Lambda Calculus
  • Lecture Notes (PDF)
  • Problem Set 1 (PDF)
  • pH Book,
    Appendix A
4 The Lambda Calculus with Constants and Let Bindings, Part I
  • Lecture Notes (PDF)
  • pH Book,
    Chapter 4
5 The Lambda Calculus with Constants and Let Bindings, Part II
  • Lecture Notes (PDF)
  • pH Book,
    Chapter 4
6 Hindley Milner Type System
  • Lecture Notes (PDF) 
  • Cardelli, Simple Polymorphic Typechecking
PS 1 Due
7 Polymorphism and Overloading
  • Lecture Notes (PDF)
  • Problem Set 2 (PDF)
  • pH Book,
    Chapters 3
8 Algebraic Types: Tuples and Lists
  • Lecture Notes (PDF)
  • pH Book,
    Chapter 5
9 Pattern Matching and List Comprehensions
  • Lecture Notes (PDF)
  • pH Book,
    Chapter 6
10 Arrays and Abstract Types
  • Lecture Notes (PDF)
  • pH Book,
    Chapter 7
11 I-Structures and Open Lists
  • Lecture Notes (PDF)
  • Problem Set 3 (PDF)
  • Midterm Topics  (PDF)
  • pH Book,
    Chapter 9
PS 2 Due
Midterm Quiz
  • Midterm Quiz (PDF)

 

Part II: I/O, Side-effects and Nondeterminism

LEC #  TOPICS HANDOUTS READINGS REMARKS
12 M-Structures, Part
  • Lecture Notes (PDF)
  • pH Book,  Chapter 10
13

M-Structures, Part II

  • Lecture Notes (PDF)
  • Project Suggestions (PDF)
  • pH Book, Appendix B
14 The Lambda-S Calculus with Side Effects                      
  • Lecture Notes (PDF)
  • TBD

PS 3 Due

15 Monads and Monadic I/O, Part I
  • Lecture Notes (PDF)
  • Problem Set 4 (PDF)
  • pH Book,
    Chapter 8
    Wadler, How to Declare an Imperative
16 Monads and Monadic I/O, Part II
  • Lecture Notes (PDF)

 

Part III: BlueSpec

LEC # TOPICS HANDOUTS READINGS REMARKS
17 Bluespec 1:
A Language for Hardware Design,
Simulation and Synthesis
                                  PS 4
Due
18 Bluespec 2:
Compilation Model & Intro to Programming
  • Lecture Notes (PDF)
19 Bluespec 3:
The IP Lookup Problem
  • Lecture Notes (PDF)
20 Bluespec 4:
Modules and Type Classes
  • Lecture Notes (PDF)
21 Bluespec 5
  • Lecture Notes (PDF)

Miscellaneous Topics

LEC # TOPICS HANDOUTS READINGS REMARKS
Bluespec Discussion (no notes)              
  • Hughes, Compile-time Analysis and Abstract Interpretation
  • Marriott, Frameworks for Abstract Interpretation
                                
22 Term Rewriting Systems,
Part I
  • Lecture Notes (PDF)
23 Term Rewriting Systems,
Part II
  • Lecture Notes (PDF)
Project Presentations
Project Write-Ups Due