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: MorganKaufmann, 2001. ISBN: 1558606440.
LEC #  Topics  Readings  Due 

Part I: Programming in pH and the גcalculus  
1  Expressing Parallel Computation 
pH Book, Chapter 1 

2  Implicitly Parallel Multithreaded Programming 
pH Book, Chapter 2 Hudak, A Gentle Intro to Haskell 

3  The Lambda Calculus 
pH Book, Appendix A 

4  The Lambda Calculus with Constants and Let Bindings, Part I 
pH Book, Chapter 4 

5  The Lambda Calculus with Constants and Let Bindings, Part II 
pH Book, Chapter 4 

6  Hindley Milner Type System 
Cardelli, Simple Polymorphic Typechecking 
PS 1 Due 
7  Polymorphism and Overloading 
pH Book, Chapter 3 

8  Algebraic Types: Tuples and Lists 
pH Book, Chapter 5 

9  Pattern Matching and List Comprehensions 
pH Book, Chapter 6 

10  Arrays and Abstract Types 
pH Book, Chapter 7 

11  IStructures and Open Lists 
pH Book, Chapter 9 
PS 2 Due 
Midterm Quiz  
Part II: I/O, Sideeffects and Nondeterminism  
12  MStructures, Part I 
pH Book, Chapter 10 

13  MStructures, Part II 
pH Book, Appendix B 

14  The LambdaS Calculus with Side Effects 
TBD 
PS 3 Due 
15  Monads and Monadic I/O, Part I 
pH Book, Chapter 8 Wadler, How to Declare an Imperative 

16  Monads and Monadic I/O, Part II  
Part III: BlueSpec  
17  Bluespec 1: A Language for Hardware Design, Simulation and Synthesis  PS 4 Due  
18  Bluespec 2: Compilation Model & Intro to Programming  
19  Bluespec 3: The IP Lookup Problem  
20  Bluespec 4: Modules and Type Classes  
21  Bluespec 5  
Miscellaneous Topics  
Bluespec Discussion (no notes)  
22  Term Rewriting Systems, Part I  
23  Term Rewriting Systems, Part II  
Project Presentations  
Project WriteUps Due 