Number | Date | Topics Covered | Notes and Readings | |
---|---|---|---|---|
01 | 14 Jan | Introduction, Equivalence, Evaluation, Typing, Binding, Scope | lecture 01 | |
02 | 16 Jan | Functions | lecture 02 | |
03 | 21 Jan | Recursion and Induction | lecture 03 | |
04 | 23 Jan | Lists, Tail Recursion, Structural Induction | lecture 04 | |
05 | 28 Jan | Datatypes, Trees and Structural Induction | lecture 05 | |
06 | 30 Jan | Asymptotic Analysis | lecture 06 | |
07 | 4 Feb | Sequential Sorting | lecture 07 | |
08 | 6 Feb | Parallel Sorting | lecture 08 | |
09 | 11 Feb | Polymorphism and Parameterized Datatypes | lecture 09 | |
13 Feb | MIDTERM EXAM #1 | |||
10 | 18 Feb | Higher-Order Functions | lecture 10 | |
11 | 20 Feb | Combinators, Staging | lecture 11 | |
12 | 25 Feb | Continuations | lecture 12 | |
13 | 27 Feb | Exceptions | lecture 13 | |
14 | 3 Mar | Regular Expressions | lecture 14 | |
15 | 5 Mar | Regular Expressions (cont) | lecture 15 | |
10 Mar | SPRING BREAK | |||
12 Mar | SPRING BREAK | |||
17 Mar | CLASSES CANCELLED DUE TO CORONA VIRUS. CLASSES HEREAFTER ARE ONLINE ONLY. |
|||
16 | 19 Mar | Modular programming I: Signatures and Structures | lecture 16 | |
17 | 24 Mar | Modular programming II: Functors | lecture 17 | |
18 | 26 Mar | Modular programming III: Invariants of Red/Black Trees | lecture 18 | |
31 Mar | TA MIDTERM REVIEW Lectures | |||
2 Apr | MIDTERM EXAM #2 (online; details to be determined) | |||
19 | 7 Apr | Parallelism, Cost Semantics, Sequences | lecture 19 | |
20 | 9 Apr | Case study: two-person games I | lecture 20 | |
21 | 14 Apr | Case study: two-person games II | lecture 21 | |
22 | 16 Apr | Lazy programming | lecture 22 | |
23 | 21 Apr | Imperative programming | lecture 23 | |
24 | 23 Apr | Introduction to Context-Free Grammars and Parsing | lecture 24 | |
25 | 28 Apr | Introduction to Computability | lecture 25 | |
26 | 30 Apr | Review | lecture 26 | |
11 May | FINAL EXAM There will be an online final exam on Gradescope. You have a 24 window in which to take the 180 minute exam: Start on or after May 11, 12:00 noon (EDT); End no later than May 12, 12:00 noon (EDT). |