# 15-312 Principles of Programming Languages

## Schedule of Lectures

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

Jan | 12 | Inductive Definitions | 1-3 | Assignment 0 Out |

13 | Rule Induction | 1-3 | Recitation 1 Notes | |

14 | Statics and Dynamics | 4-5 | ||

19 | Type Safety; Run-Time Errors | 6 | Assignment 0 Due, Assignment 1 Out | |

20 | Implementing ABT's | 1-3 | ||

21 | (No Class) | |||

26 | System T | 8-9 | Solution 0 Out | |

27 | Type Safety for System T | 9 | ||

28 | Products | 10 | ||

Feb | 2 | Sums | 11 | Assignment 1 Due |

3 | Uses of Sums | 11 | ||

4 | Inductive and Coinductive Types | 15 | Assignment 2 Out, Solution 1 Out | |

9 | Polymorphism | 16 | ||

10 | Polymorphic Programming | 16 | ||

11 | Abstract Types | 17 | ||

16 | Dynamic Dispatch | 26 | ||

17 | Representation Independence | 19-20 | ||

18 | System PCF | 19 | Assignment 2 Due, Assignment 3 Out | |

23 | System FPC | 20 | ||

24 | Recursive Types and Self-Reference | 20 | ||

25 | Dynamic Typing | 22 | ||

Mar | 1 | Dynamic as Static Typing | 23 | |

2 | Review for Midterm | |||

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

8 | (Spring Break) | |||

9 | (Spring Break) | |||

10 | (Spring Break) | |||

15 | Exceptions | 28-29 | Solution 3 Out, Assignment 4 Out; PCF Rules | |

16 | Exceptions; K Machine | 35; 33 | ||

17 | Continuations | 33 | ||

22 | Cost Semantics and Parallelism | 37 | ||

23 | Cost Graphs; Work and Span | 37 | ||

24 | Brent's Principle | 37 | Assignment 4 Due, Assignment 5 Out | |

29 | Modernized Algol | 34 | ||

30 | Expressions and Commands | 34 | ||

31 | Scope-Free Assignables | 35 | ||

Apr | 5 | Capabilities and References | 35 | Solution 4 Out |

6 | Backpatching, Benign Effects | 39 | ||

7 | Dynamic Classification | 33 | ||

12 | Lazy Evaluation | 36 | ||

13 | Memoization and By-Need Evaluation | 40 | ||

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

19 | Concurrent Interaction | 39 | Solution 5 Out | |

20 | Concurrent Programming | 41 | ||

21 | Concurrent Communication | 39 | ||

26 | Concurrent Algol | 40 | ||

27 | Concurent Algol | |||

28 | Summary and Review | Assignment 6 Due |

Robert Harper
Last modified: Fri Apr 8 14:57:15 EDT 2016