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

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

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

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

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

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

21 | Function Definitions | 8 | ||

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

27 | Fixed Points and Recursion | 10 | ||

28 | Definability and Undefinability | 10 | ||

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

3 | Pattern Matching | 13 | ||

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

9 | Recursive Types | 16 | ||

10 | Self-Application | 25 | ||

11 | Self-Reference and Self-Application | 16 | ||

16 | Dynamic Languages | 18-19 | ||

17 | Dynamic Typing | 18 | ||

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

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

24 | Polymorphic Church Encodings | 20 | ||

25 | Abstract Types and Representation Independence | 21 | ||

Mar | 1 | Propositions as Types | 21 | |

2 | Review for Midterm | |||

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

8 | (Spring Break) | |||

9 | (Spring Break) | |||

10 | (Spring Break) | |||

15 | Modernized Algol | 35 | ||

16 | Scoped Assignables | 35 | ||

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

22 | Assignable References | 36 | ||

23 | Mutable Data Structures | 36 | ||

24 | Benign Effects vs Modal Separation | 36 | ||

29 | Laziness: Call-By-Need | 37 | ||

30 | Lazy Data Structures | 37 | ||

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

Apr | 5 | Brent's Principle | 39 | Solution 4 Out |

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

7 | Speculations and Futures | 40 | ||

12 | Concurrent Interaction | 41 | ||

13 | Events and Synchronization | 41 | ||

184 | (No Class) | Assignment 5 Due, Assignment 6 Out | ||

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

20 | Programming with Process Calculus | |||

21 | Concurrent Algol | 42 | ||

26 | Concurrent Algol | 42 | ||

27 | Review | |||

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

Robert Harper
Last modified: Tue Sep 29 18:05:49 EDT 2015