Date | Topic | PFPL Chapters | Homework | |
---|---|---|---|---|

Jan | 15 | What Is A Programming Language? Syntax, Statics, Dynamics. | 1-3 | Assignment 0 Out |

16 | Inductive Definitions; Abstract Syntax and Binding | 1-3 | ||

17 | An Expression Language: Calculation, Structural Operational Semantics | 4-7 | ||

22 | Statics; Safety; Run-Time Errors | 7 | Assignment 0 Due, Assignment 1 Out | |

23 | Implementing Abstract Syntax; deBruijn representation | 1-3 | ||

24 | Function Definitions | 8 | ||

29 | Goedel's T and PCF | 10 | Solution 0 Out | |

30 | Fixed Points and Recursion | 10 | ||

31 | Definability and Undefinability | 10 | ||

Feb | 5 | Products and Sums | 11-12 | Assignment 1 Due |

6 | Pattern Matching | 13 | ||

7 | Dynamic Dispatch (Classes and Methods) | 25 | Assignment 2 Out, Solution 1 Out | |

12 | Recursive Types | 16 | ||

13 | Self-Application | 25 | ||

14 | Self-Reference and Self-Application | 16 | ||

19 | Dynamic Languages | 18-19 | ||

20 | Dynamic Typing | 18 | ||

21 | Dynamic Languages are Static Languages | 19 | Assignment 2 Due, Assignment 3 Out | |

26 | System F and Polymorphism | 20 | Solution 2 Out | |

27 | Polymorphic Church Encodings | 20 | ||

28 | Abstract Types and Representation Independence | 21 | ||

Mar | 5 | Propositions as Types | 21 | |

6 | Review for Midterm | |||

7 | Midterm Examination | Assignment 3 Due (Fri) | ||

12 | (Spring Break) | |||

13 | (Spring Break) | |||

14 | (Spring Break) | |||

19 | Modernized Algol | 35 | ||

20 | Scoped Assignables | 35 | ||

21 | Modernized Algol | 36 | Solution 3 Out, Assignment 4 Out | |

26 | Assignable References | 36 | ||

27 | Mutable Data Structures | 36 | ||

28 | Benign Effects vs Modal Separation | 36 | ||

Apr | 2 | Laziness: Call-By-Need | 37 | |

3 | Lazy Data Structures | 37 | ||

4 | Nested Data Parallelism | 39 | Assignment 4 Due, Assignment 5 Out | |

9 | Brent's Principle | 39 | Solution 4 Out | |

10 | Cost Graphs; Work and Span | 39 | ||

11 | Speculations and Futures | 40 | ||

16 | Concurrent Interaction | 41 | ||

17 | Events and Synchronization | 41 | ||

18 | (Carnival Break) | Assignment 5 Due, Assignment 6 Out | ||

23 | Communication: π-Calculus | 41 | Solution 5 Out | |

24 | Programming with Process Calculus | |||

25 | Concurrent Algol | 42 | ||

30 | Concurrent Algol | 42 | ||

May | 1 | Review | ||

2 | Propositions as Types Contd. | 30 | Assignment 6 Due |

Robert Harper
Last modified: Thu Apr 18 13:56:13 EDT 2013