## CS 15-212: Fundamental Structures of Computer Science II |

Note that this schedule is subject to change during
the semester. Supplementary readings are from:
Lawrence C. Paulson, * ML for the
Working Programmer,
2nd edition, Cambridge University Press, 1996
*

Date | Topic | Supplementary Reading | Code |

26 Aug | Evaluation & Typing | 2.1-2.6, 2.11-2.12, evaluation.ps | lecture01.sml |

28 Aug | Binding, Scope, Functions | 2.14-2.16, 2.20-2.22 | lecture02.sml |

2 Sep | Recursion & Induction | 6.1-6.3, induction.ps | lecture03.sml |

4 Sep | Products, Datatypes, Patterns | 2.7-2.8, 4.1-4.4 | lecture04.sml |

9 Sep | Tail Recursion, Structural Induction | 6.4-6.5, structural.ps | lecture05.sml |

10 Sep | Assignment 1 due |
Solution 1 | |

11 Sep | Data Structures | 3.1-3.6, 4.10-4.13 | lecture06.sml |

16 Sep | Representation Invariants | 4.14-4.16 | lecture07.sml |

18 Sep | Continuations | none | lecture08.sml |

23 Sep | Regular Expressions | 5.1-5.11, regexp.ps | lecture09.sml |

24 Sep | Assignment 2 due |
Solution 2 | |

25 Sep | Exceptions | 4.5-4.9, regsimp.ps | lecture10.sml |

30 Sep | Review |
lecture11.sml | |

2 Oct | Midterm |
Sample Solution | |

7 Oct | Modularity: Signatures and Functors | 7.7-7.11 | lecture12.sml |

8 Oct | Assignment 3 due |
Solution 3 | |

9 Oct | Game Tree Search | None | lecture13.sml |

14 Oct | A Concrete Game | None | lecture14.sml |

16 Oct | Mutation and State | 8.1-8.3, mutable.ps | lecture15.sml |

21 Oct | Ephemeral Data Structures | 8.4-8.6 | lecture16.sml |

22 Oct | Assignment
4 due |
Solution 4 | |

23 Oct | Streams, Demand-Driven Computation | 5.12-5.16 | lecture17.sml |

28 Oct | Streams, Laziness and Memoization | 5.12-5.16 | lecture18.sml |

30 Oct | Lexical Analysis | 9.1 | lecture19.sml |

4 Nov | Grammars and Parsing | 9.2-9.3, parsing.ps | lecture20.sml |

6 Nov | Interpreters | 9.10-9.13 | lecture21.sml |

11 Nov | Type Checking | None | lecture22.sml |

12 Nov | Assignment 5 due |
Solution 5 | |

13 Nov | Operational Semantics and Recursion | interpret.ps | lecture23.sml |

18 Nov | Computability | computability.ps | lecture24.sml |

20 Nov | Computability | none |
lecture25.sml |

25 Nov | Cancelled |
||

28 Nov | No Class (Thanksgiving) |
||

2 Dec | Systems Programming | FoxNet Home Page | |

3 Dec | Assignment 6 due |
Solution 6 | |

4 Dec | Scheme | Scheme Home Page | lecture28.sml |

12 Dec | Final , 1:00-4:00, DH 2315 |
Sample Solution |

Frank Pfenning fp@cs