% dim title dim rowParity title = "CS3110 S11 Lecture Notes" rowParity = 1 %>
The notes linked below are supplemental reading consisting of the material from last semester.
DATE | EVENT | TOPIC | LINKS |
---|---|---|---|
Introduction to Functional Programming | |||
1/25 | Lecture 1 | Course overview and background on ML | [Notes] [Code] |
1/26 | PS1 issued | [PS1] | |
1/26 | Recitation 1 | Introduction to OCaml syntax | [Notes] |
1/26 | OCaml demo, 7:30–9pm, Upson B7 Lab (Boris, Oneek) | [Code] | |
1/27 | Lecture 2 | OCaml syntax and evaluation | [Notes] [Code] |
1/27 | OCaml demo, 7:30–9pm, Upson B7 Lab (Lucas, Nick) | [Code] | |
1/31 | Recitation 2 | Tuples, records, and pattern matching | [Notes] [Code] |
2/1 | Lecture 3 | Scope, currying and lists | [Notes] [Code] |
2/2 | Recitation 3 | Higher-order functions, anonymous functions, currying, side effects, printing, exceptions | [Notes] |
2/2 | LaTeX demo, 5pm, Hollister B14 (Constantine, Boris, Gautam) | ||
2/3 | Lecture 4 | Variants, recursive types, and polymorphism | [Notes] [Code] |
2/3 | PS1 due, PS2 issued | [PS1] [PS2] | |
2/3 | OCaml demo, 7:30–9pm, Upson B7 Lab (Jean-Baptiste) | [Code] | |
2/7 | Recitation 4 | Pattern-matching pitfalls, more parameterized types | [Notes] |
2/8 | Lecture 5 | Map, fold and the map-reduce paradigm | [Notes] [Code] |
2/9 | Recitation 5 | Folding and tail recursion | [Notes] |
2/10 | Lecture 6 | Substitution model of evaluation | [Notes] [Code] |
2/14 | Recitation 6 | More about the substitution model | [Notes] |
Functional Data Structures | |||
2/15 | Lecture 7 | Modules, structures, and signatures | [Notes] [Code] |
2/16 | Recitation 7 | Functional stacks and queues, dictionaries, fractions | [Notes] |
not given | Lecture 8 | Abstraction functions and representation invariants | [Notes] [Code] |
2/17 | Lecture 9 | Functors: parameterized modules | [Notes] [Code] |
2/17 | PS2 due, PS3 issued | [PS2] [PS3] | |
2/21 | Recitation 8 | PS3 overview | [Notes] |
2/22 | Lecture 10 | Functional data structures: red-black trees | [Notes] [Code] |
2/23 | Recitation 9 | More about functors | [Notes] |
2/24 | Lecture 11 | Mutable data structures: disjoint set-forests | [Notes] [Code] |
2/28 | Recitation 10 | Mutability: refs and arrays | [Notes] |
3/1 | Lecture 12 | The Environment Model | [Notes] [Code] |
3/2 | Recitation 11 | Functional Arrays | [Notes] [Code] |
3/3 | PS3 due, PS4 issued | [PS3] [PS4] | |
Verification and Testing | |||
3/3 | Lecture 13 | Logic for formal verification | [Notes] |
3/7 | Recitation 12 | Inductive correctness proofs | [Notes] |
3/8 | Lecture 14 | Verification cont'd | [Notes] |
3/9 | Recitation 13 | Prelim 1 review | [Notes] |
3/10 | Lecture 15 | Verification cont'd | [Notes] |
3/10 | Prelim Exam, 7:30–9pm, Upson B17 | ||
3/14 | Recitation 14 | Testing | [Notes] |
3/15 | Lecture 16 | Verification cont'd | [Notes] |
3/16 | Recitation 15 | PS5 overview | [PS5] |
Concurrency | |||
3/17 | Lecture 17 | Concurrency: multi-threading and mutexes | [Notes] [Code] |
3/17 | PS4 due, PS5 issued | [PS4] [PS5] | |
3/19–3/27 | Spring Break | ||
3/28 | Recitation 16 | Concurrency: condition variables and message passing | [Notes] |
Data Structures and Analysis of Algorithms | |||
3/29 | Lecture 18 | Asymptotic complexity and recurrences | [Notes] [Code] |
3/30 | Recitation 17 | Asymptotic complexity and binary search trees | [Notes] |
3/31 | Lecture 19 | Master method | [Notes] [Proof] |
4/4 | Recitation 18 | Solving recurrences | [Notes] |
4/5 | Lecture 20 | Amortized analysis and resizing hash tables | [Notes] |
4/6 | Recitation 19 | Using the substitution and master methods | [Notes] |
4/7 | Lecture 21 | Representing and traversing directed graphs | [Notes] [Code] |
4/11 | Recitation 20 | Amortized analysis examples | [Notes] |
4/12 | Lecture 22 | Memoization and dynamic programming | [Notes] [Code] |
4/13 | Recitation 21 | Graph algorithms | [Notes] |
Topics | |||
4/14 | Lecture 23 | Streams and lazy evaluation | [Notes] [Code] |
4/14 | PS5 due, PS6 issued | [PS5] [PS6] | |
4/18 | Recitation 22 | PS6 overview | [PS6] |
4/19 | Lecture 24 | Prelim 2 review | [Notes] |
4/19 | Prelim Exam, 7:30–9pm, Upson B17 | [Topics] | |
4/20 | Recitation 23 | Locality | [Notes] |
4/21 | Guest Lecture | "Effective ML", Yaron Minsky, Jane Street | |
4/25 | Recitation 24 | B-trees | [Notes] |
4/26 | Lecture 25 | Garbage Collection | [Notes] |
4/27 | Recitation 25 | Splay trees | [Notes] [Code] |
4/28 | Lecture 26 | Type inference and unification | [Notes] [Code] |
5/2 | Recitation 26 | Continuations and CPS conversion | [Notes] [Code] |
5/3 | Lecture 27 | Introduction to the λ-calculus | [Notes] |
5/4 | Recitation 27 | Course review | [Notes] [Code] |
5/5 | Lecture 28 | Fixpoints and recursion | [Notes] [Code] |
5/5 | PS6 due | [PS6] | |
5/12 | Final Exam, 2–4:30pm, Hollister B14 | [Topics] | |
5/14 | The 3110 Tournament, Upson B17, 5–8pm (pizza provided) | [Info] |