CS 312 Schedule Fall 2003

The notes linked below are required reading, but they are not a substitute for attending lecture and recitation. If the notes for a particular lecture or recitation are not posted, please do not email us about it.

Meeting Date

  Topic

Lec. 1 Aug. 28 Course overview and background on ML 
Rec. 1 Sep. 1 More about SML
Lec. 2  2 Syntax, semantics and the substitution model
Rec. 2  3 Types, Functions, Type Inference
Lec. 3  4 More SML: custom datatypes, pattern matching and lists
Rec. 3 8 Lists Processing. Map. Fold. Recursion.
Lec. 4 9 Recursive functions of lists
Rec. 4 10 More on Fold. Signatures and Structures. Tail-Recursion.
Lec. 5 11 Substitution Model
Rec. 5 15 Higher-Order Functions. Queues. Discussion of PS1.
Lec. 6 16 Scope and Substitution
Rec. 6 17 ASTs/Interpreters
Lec. 7 18 Recursion and the Substitution Model
Rec. 7 22 RSM. Induction
Lec. 8 23 Graphs. Trees. Binary Search Trees
Rec. 8 24 RSM. Induction
Lec. 9 25 Red-Black Trees
Rec. 9 29 Proofs by Induction
Lec. 10 30 The Evaluator (or, All About Mini-ML)
Rec. 10 Oct. 1 Induction. Functors
Lec. 11 2 All About Environments
Rec. 11 6 Environment model
Lec. 12 7 More Environments; Modifying the Evaluator
Rec. 12 8 Environment model
Lec. 13 9  
October 11-14: Fall Break
Rec. 13 15 Review section
Lec. 14 16  
October 16 Prelim #1, 7:30-9:00PM, Upson B17
Rec. 14 20  
Lec. 15 21 Lazy evaluation
Rec. 15 22 Equivalence
Lec. 16 23 Streams
Rec. 16 27 Streams
Lec. 17 28 Infinite streams
Rec. 17 29  
Lec. 18 30 Side effects
Rec. 18 Nov. 3 Side effects - Refs
Lec. 19 4 Side effects
Rec. 19 5 Refs - Implementing queues
Lec. 20 6 Side Effects, Arrays, Memory
Rec. 20 10 Environment Model
Lec. 21 11 Implementing SML in x86
Rec. 21 12 Prelim review
Lec. 22 13 Memory Allocation Strategies
Rec. 22 17 Prelim review
Lec. 23 18  
November 18 Prelim #2, 7:30-9:00PM, Hollister B14
Rec. 23 19 Comments on prelim 2
Lec. 24 20 Garbage Collection
Rec. 24 24 Garbage Collection
Lec. 25 25  
November 27-30: Fall Break
Rec. 25 Dec. 1 Asymptotic analysis
Lec. 26 2 Refactoring
Rec. 26 3  
Lec. 27 4 Software specifications and modularity
December 17 Final Exam, 9:00-11:30AM, location TBA