CS312 Lectures (Tentative Schedule)

These notes are not a substitute for attending lecture and recitation.

Lecture Date Topic
Lecture 1 August 29 Overview of the course and background on ML
Recitation 1 September 2 Introduction to SML Syntax
Lecture 2 September 3 More Introduction to SML
Recitation 2 September 4 Tuples, records and datatypes
Lecture 3 September 5 Recursive Datatypes and Lists
Recitation 3 September 9 Value-carrying and Recursive Datatypes and Higher-Order Functions
Lecture 4 September 10 Polymorphic and Parameterized Types
Recitation 4 September 11 Curried Functions, and list/option polymorphism
Lecture 5 September 12 Structures and Signatures
Recitation 5 September 16 Sundry Catch-Up Topics
Lecture 6 September 17 Substitution Model: Overview
Recitation 6 September 18 Introduction to the Substitution Model
Lecture 7 September 19 More Substitution Model, and Higher-Order Procedures
Recitation 7 September 23 Substitution Model Examples
Lecture 8 September 24 Recursion in the Substitution Model, and Induction
Recitation 8 September 25 Even More Substitution Model Examples
Lecture 9 September 26 Induction; Stacks and Queues
Recitation 9 September 30 Induction Examples. Functional Data Structures
Lecture 10 October 1 Binary Search Trees
Recitation 10 October 2 Binary Search Trees, Applications of fold
Lecture 11 October 3 Big-O notation; Red-black trees
Recitation 11 October 7 More Binary Search Trees
Lecture 12 October 8 Prelim #1 Review
Recitation 12 October 9 Red-Black Trees, Algorithmic Complexity
Lecture 13 October 10 Complexity and analysis of algorithms
Recitation 13 October 16 Prelim 1 Review
Lecture 14 October 17 Graphs
Recitation 14 October 21 Prelim 1 Recap. Graphs algorithms
Lecture 15 October 22 Evaluator
Recitation 15 October 23 Details over the Evaluator
Lecture 16 October 24 Modifying the Evaluator
Recitation 16 October 28 Modifying eval for fun and profit
Lecture 17 October 29 Predefined Functions, Special Forms, Types
Recitation 17 October 30 Type checking Examples
Lecture 18 October 31 Static and Dynamic Type Checking
Recitation 18 November 4 Lecture 18 recap
Lecture 19 November 5 Dynamic Scoping, normal order
Recitation 19 November 6 Lecture 19 recap
Lecture 20 November 7 Normal order, thunks, streams
Recitation 20 November 11 PS5 Overview
Lecture 21 November 12 Side Effects and References
Recitation 21 November 13 References and environment model
Lecture 22 November 14 Side Effects (Continued). Streams.
Recitation 22 November 18 Prelim 2 review
Lecture 23 November 19 More refs and environment model
Recitation 23 November 20 Garbage collection
Lecture 24 November 21 Hashing
Recitation 24 November 25 More garbage collection
Lecture 25 November 26 Memory and Datastructures
Recitation 25 December 2 Splay Trees, Floyd, Heaps
Lecture 26 December 3 String Search
Recitation 26 December 4 Lambda Calculus
Lecture 27 December 5 Eli's Y lecture