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. Notes include references to the on-line introduction Programming in Standard ML by Robert Harper.
Date | Topic | Supplementary Reading | Notes | Code |
---|---|---|---|---|
25 Aug | Evaluation & Typing | 2.1-2.6, 2.11-2.12, evaluation.ps | Lecture 1 | lecture01.sml |
27 Aug | Binding, Scope, Functions | 2.14-2.16, 2.20-2.22 | Lecture 2 | lecture02.sml |
1 Sep | Recursion & Induction | 6.1-6.3, induction.ps | Lecture 3 | lecture03.sml |
3 Sep | Datatypes & Patterns | 2.7-2.8, 4.1-4.4 | Lecture 4 | lecture04.sml |
8 Sep | Tail Recursion, Structural Induction | 3.1-3.6, 6.4-6.5, structural.ps | Lecture 5 | lecture05.sml |
9 Sep | Assignment 1 due | Proofs | Solution 1 | |
10 Sep | Data Structures | 4.10-4.13, 7.1-7.6 | Lecture 6 | lecture06.sml |
15 Sep | Representation Invariants | 4.14-4.16 | Lecture 7 | lecture07.sml |
17 Sep | Continuations | continuations.ps | Lecture 8 | lecture08.sml |
22 Sep | Regular Expressions | 5.1-5.11, regexp.ps | Lecture 9 | lecture09.sml |
23 Sep | Assignment 2 due | Proofs | Solution 2 | |
24 Sep | Exceptions | 4.5-4.9 | Lecture 10 | lecture10.sml |
29 Sep | Review | |||
1 Oct | Midterm (in class) | |||
6 Oct | Modularity: Signatures and Functors | 7.7-7.11 | Lecture 12 | lecture12.sml |
7 Oct | Assignment 3 due | Solution 3 | ||
8 Oct | Game Tree Search | Lecture 13 | lecture13.sml | |
13 Oct | References and State | 8.1-8.3 mutable.ps | Lecture 14 | lecture14.sml |
15 Oct | Ephemeral Data Structures | 8.4-8.6 | Lecture 15 | lecture15.sml |
20 Oct | Lazy Evaluation and Streams | 5.12-5.16 | Lecture 16 | lecture16.sml |
21 Oct | Assignment 4 due | Solution 4 | ||
22 Oct | Streams, Laziness and Memoization | 5.12-5.16 | Lecture 17 | lecture17.sml |
27 Oct | Lexical Analysis | 9.1 | Lecture 18 | lecture18.sml |
29 Oct | Grammars and Parsing | 9.2-9.3 parsing.ps | Lecture 19 | lecture19.sml |
3 Nov | Interpreters | 9.10-9.13 | Lecture 20 | lecture20.sml |
5 Nov | Type Checking | interpret.ps | Lecture 21 | lecture21.sml |
10 Nov | Assignment 5 due | Solution 5 | ||
10-12 Nov | Operational Semantics and Recursion | interpret.ps | Lecture 22 | lecture22.sml |
17-19 Nov | Computability | computability.ps | Lecture 24 | lecture24.sml |
24 Nov | Assignment 6 due | |||
24 Nov | Systems Programming | FoxNet Home Page | ||
26 Nov | No Class (Thanksgiving) | |||
1-3 Dec | Concurrency | Lecture 27 | lecture27.sml | |
8 Dec | Final, 8:30-11:30am, Porter Hall 100 |