CS 312 Schedule Fall 2005The notes linked below are required reading, but they are not a substitute for attending lecture and recitation. |
||
| Meeting | Date |
Topic |
|---|---|---|
| Lec. 1 | August 25 | Course overview |
| Rec. 1 | 29 | Basic types and expressions |
| Lec. 2 | 30 | SML syntax and program evaluation |
| Rec. 2 | 31 | Tuples, records, datatypes, and pattern matching |
| Lec. 3 | September 1 | Recursive datatypes: modeling integers and lists |
| Rec. 3 | 5 | Higher-order and anonymous functions, currying |
| Lec. 4 | 6 | Polymorphism and parameterized types |
| Rec. 4 | 7 | Datatype pitfalls, polymorphism and lists |
| Lec. 5 | 8 | Scope, evaluation with substitutions |
| Rec. 5 | 12 | Folding and tail recursion |
| Lec. 6 | 13 | Functional specifications |
| Rec. 6 | 14 | Structures and signatures |
| Lec. 7 | 15 | Modules and data abstractions |
| Rec. 7 | 19 | Functional stacks and queues |
| Lec. 8 | 20 | Documenting implementations |
| Rec. 8 | 21 | More data abstractions |
| Lec. 9 | 22 | The Substitution Model |
| Rec. 9 | 26 | Sets and Maps |
| Lec. 10 | 27 | Recursion in the Substitution Model |
| Rec. 10 | 28 | Functors |
| Lec. 11 | 29 | Induction |
| Rec. 11 | October 3 | More on induction |
| Lec. 12 | 4 | Program correctness |
| Rec. 12 | 5 | Asymptotic Complexity |
| Lec. 13 | 6 | Imperative language features |
| October 8-11: Fall Break | ||
| Rec. 13 | 12 | Prelim I review |
| Lec. 14 | 13 | Red-black trees (lecturer: Paul Eastlund) |
| October 13 --- Prelim I Exam: Upson B17, 7:30pm - 9:00pm | ||
| Rec. 14 | 17 | Proving Running Times With Induction |
| Lec. 15 | 18 | Splay trees |
| Rec. 15 | 19 | Lambda Lifting: review for Problem Set 4 |
| Lec. 16 | 20 | An ML Interpreter |
| Rec. 16 | 24 | Refs and Arrays |
| Lec. 17 | 25 | Mutable data abstractions |
| Rec. 17 | 26 | Refs in the substitution model |
| Lec. 18 | 27 | Environment Model Diagrams |
| Rec. 18 | 31 | Project I Overview |
| Lec. 19 | November 1 | Proving program properties with program invariants (lecturer: Prof. David Gries) |
| Rec. 19 | 2 | Environment Model Diagrams |
| Lec. 19 | 3 | Environment Model Diagrams |
| Rec. 20 | 7 | Garbage Collection I |
| Lec. 21 | 8 | Environment Model Diagrams |
| Rec. 21 | 9 | Garbage Collection II |
| Lec. 21 | 10 | Type inference I |
| Rec. 22 | 14 | Prelim Review |
| Lec. 23 | 15 | Type Inference II |
| Rec. 23 | 16 | Amortized Analysis |
| Lec. 23 | 17 | Design Patterns I |
| Rec. 24 | 21 | Lazy evaluation |
| Lec. 25 | 22 | Desing patterns II |
| November 23-27: Thanksgiving Break | ||
| Rec. 25 | 28 | Streams |
| Lec. 25 | 29 | Building large software systems (lecturer: Larry Stabile) |
| Rec. 26 | 30 | Modules and specifications |
| Lec. 26 | December 1 | |