6.827 Multithreaded Parallelism:
Languages and Compilers
Fall 2002


Syllabus

This syllabus is subject to change at any time. Please refer to this page for the most up-to-date information.  

All course handouts are in Adobe PDF format unless otherwise noted.


 

Date Lecture Description Handouts Reading Remarks

Part I: Programming in pH and the l-calculus

Wed
September 4
Lecture 1 - Expressing Parallel Computation
  • pH Book, 
    Chapter 1
 
Mon
September 9
Lecture 2 - Implicitly Parallel Multithreaded Programming  
Wed
September 11
Lecture 3 - The Lambda Calculus
  • pH Book, 
    Appendix A
 
Mon
September 16
Lecture 4 - The Lambda Calculus with Constants and Let Bindings, Part I
  • pH Book, 
    Chapter 4
 
Wed
September 18
Lecture 5 - The Lambda Calculus with Constants and Let Bindings, Part II
  • pH Book, 
    Chapter 4
 
Mon
September 23
Student Holiday
Wed
September 25
Lecture 6 - Hindley Milner Type System
  • Cardelli, Simple Polymorphic Typechecking
PS 1 Due
Mon
September 30
Lecture 7 - Polymorphism and Overloading
  • pH Book, 
    Chapters 3
 
Wed
October 2
Lecture 8 - Algebraic Types: Tuples and Lists 
  • pH Book, 
    Chapter 5
 
Mon
October 7
Lecture 9 - Pattern Matching and List Comprehensions
  • pH Book, 
    Chapter 6
 
Wed
October 9
Lecture 10 - Arrays and Abstract Types
  • pH Book, 
    Chapter 7

Mon
October 14
Columbus Day
Wed
October 16
Lecture 11 - I-Structures and Open Lists
  • pH Book, 
    Chapter 9
PS 2 Due
Mon
October 21
Midterm Quiz  

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

Wed
October 23
Lecture 12 - M-Structures, Part I
  • pH Book,
    Chapter 10
 
Mon
October 28
Lecture 13 - M-Structures, Part II
  • pH Book,
    Appendix B

Wed
October 30
Lecture 14 - The Lambda-S Calculus with Side Effects
  • TBD
PS 3 Due
Mon
November 4
Lecture 15 - Monads and Monadic I/O, Part I
  •  pH Book,
    Chapter 8
  • Wadler, How to Declare an Imperative
 
Wed
November 6
Lecture 16 - Monads and Monadic I/O, Part II

 
Mon
November 11
Veterans' Day

Part III: BlueSpec

Wed
November 13
Lecture 17 - Bluespec 1:  A Language for Hardware Design, Simulation and Synthesis   PS 4 Due
Mon
November 18
Lecture 18 - Bluespec 2: Compilation Model & Intro to Programming  
Tue
November 19
Lecture 19 - Bluespec 3: The IP Lookup Problem    
Wed
November 20
Lecture 20 - Bluespec 4: Modules and Type Classes    
Thu
November 21
Lecture 21 - Bluespec 5    

Miscellaneous Topics

Mon
November 25
Bluespec Discussion (no notes)
  • Hughes, Compile-time Analysis and Abstract Interpretation
  • Marriott, Frameworks for Abstract Interpretation
 
Wed
November 27
No Class

   
Mon
December 2
Lecture 22 - Term Rewriting Systems, Part I

 
Wed
December 4

Lecture 23 - Term Rewriting Systems, Part II


Mon
December 9

No Class



Wed
December 11
Project Presentations
   
Fri
December 13
Project Write-Ups Due at 5PM


No extensions!