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 | |