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