...
Week | Day | Date | Lecture Topic and Resources | Work Assigned | Work Due | |
---|---|---|---|---|---|---|
1 | Tu | Aug 27 | Motivation and the Elements (Constants) of Racket | HTDP Part 1 (Ch 1-8) | Sep 03 | |
Th | Aug 29 | [Canceled for Hurricane Laura] | Sep 05 | |||
2 | Tu | Sep 01 | Conditionals, Function Definitions and Computation by Reduction | Homework 1 Review Ch 8 HTDP Part 2 (Ch 9-10) | Sep 08 | |
3 | Th | Sep 03 | The Program Design Recipe for Racket focusing on recursion on processing lists and natural numbers | Preface, 9.4 HTDP Part 2 (Ch 11-13) | Sep 10 | |
4 | Tu | Sep 08 | Data Definitions, Data-driven Structural Recursion, and Help Functions | Homework 2 HTDP Part 3 | Sep 15 | |
5 | Th | Sep 10 | Mutually Recursive Definitions | HTDP Ch 15-17 | Sep 17 | |
6 | Tu | Sep 15 | Generative Recursion | Homework 3 HTDP Parts 5-6 | Sep 22 | |
7 | Th | Sep 17 | Accumulators and Tail Recursion | HTDP ? | Sep 26 | |
8 | Tu | Sep 19
| Functions as Values and Anonymous Functions | Homework 4! | Oct 6 | |
9 | Th | Sep 24 | Local Definitions and Lexical Scope | |||
10 | Tu | Sep 29 | Abstracting Computational Patterns as Functions | Homework 5* | ||
11 | Th | Oct 01 | Macros and Lazy Evaluation;Memoization; Review; Functional Design Patterns in OOP | |||
12 | Tu | Oct 06 | Java Design Recipe: OOP as an Extension of FP | Homework 6 | Oct | |
13 | Th | Oct 08 | Functional Java | Mid-term [Oct 09[] | ||
| Tu | Oct 13 | Midterm Recess (no classes) | |||
13 | Th | Oct 15 | Core Haskell | Homework 2 | ||
9 | Tu | Oct 22 | Haskell Pattern Matching | Homework 8 | ||
| Th | Oct 24 | Haskell Exceptions and Compehensions | |||
10 | Tu | Oct 29 | Haskell Type Classes | |||
| Th | Oct 31 |
| |||
11 | Tu | Nov 05 | Haskell Stream Processing | |||
| Th | Nov 07 | Homework 4 | Homework 3 | ||
12 | Tu | Nov 12 | Traits and Mixins | Core Haskell (call-by-name) | ||
| Th | Haskell Pattern Matching | ||||
13 | Tu | Nov 19 | State Monad | Haskell Type Classes | ||
| Th | Nov 21Video: What to Leave Implicit, by Martin Odersky | Racket letcc; Semantics of Haskell Exceptions | Homework 5 | Homework 4 | |
14 | Tu | Nov 26 | No Class | |||
| Th | Nov 28 | Thanksgiving Holiday (no classes) | |||
15 | Tu | Dec 03 | Course Wrap-Up | |||
Th | Dec 05 | Exam 2 (in class) | Homework 5 | |||
16 | Tu | Dec 10 | Study Day (no classes) | |||
| Sat | Dec 14 | Final exam/project date scheduled by university |
* Lectures slides not yet updated from last year are marked with an asterisk.