...
Week | Day | Date | Lecture Topic and Resources | Work Assigned | Work Due | |
---|---|---|---|---|---|---|
Tu | Aug 23 | Motivation and the Elements (Constants) of Racket | Skim HTDP First Edition, Part 1 (Ch 1-8), Part 2 (Ch 9-10) | Sep 01 | ||
Th | Aug 25 | Conditionals, Function Definitions and Computation by Reduction | Sep 03 | |||
Tu | Sep 01 | Conditionals, Function Definitions and Computation by Reduction | Review Ch 8 HTDP Part 2 (Ch 9-10) | Sep 08 | ||
3 | Th | Sep 03 | The Program Design Recipe for Racket focusing on using recursion to process lists and natural numbers | Preface, 9.4 HTDP Part 2 (Ch 11-13) | Sep 10 | |
Tu | Sep 06 | Data Definitions, Data-driven Structural Recursion, | HTDP Part 3 | Sep 15 | ||
5 | Th | Sep 08 | Mutually Recursive Definitions and Help Functions | HTDP Ch 15-17 | Sep 15 | |
Tu | Sep 13 | Local Definitions and Lexical Scope | HTDP Parts 5-6 | Sep 22 | ||
Th | Sep 15 | Lambda the Ultimate and Reduction Semantics | LawsOfEvaluation | Sep 22 | ||
8 | Tu | Sep 20
| Functional Abstraction and Polymorphism | Sep 29 | ||
9 | Th | Sep 22 | Functions as Values | Homework 4 | Sep 29 | |
10 | Tu | Sep 27 | Generative (Non-structural) Recursion
| |||
11 | Th | Sep 29 | Lazy Evaluation and Non-strict Constructors | Homework 5* | Oct 11 | |
12 | Tu | Oct 04 | Techniques for Implementing Lazy Evaluation | |||
13 | Th | Oct 06 | A Glimpse at Imperative Racket and Memoization | |||
| Tu | Oct 11 | FP in Racket Review | |||
13 | Th | Oct 13 | On to Java! | OO Design Notes | ||
14 | Tu | Oct 18 | Adapting the HTDP Design Recipe to Java Midterm (Through Lecture 13 and HW 5) 7-10pm | Homework 6 | Oct 25 | |
15 | Th | Oct 20 | Higher-order Functional Programming in Java | Oct 31 | ||
16 | Tu | Oct 25 | Four Key Idioms for Encoding FP in Java | Homework 7 | Nov 1 | |
17 | Th | Oct 27 | The Singleton and Visitor Patterns | |||
18 | Tu | Nov 01 | Java Generics and Their Role in FP in Java | Homework 8* | Nov 10 | |
19 | Th | Nov 03 | Functional Rust I | |||
20 | Tu | Nov 08 | Functional Rust II | Nov 15 | ||
21 | Th | Nov 10 | OO Rust Using Only Traits | Homework 9 | ||
22 | Tu | Nov 15 | Rust ... | |||
23 | Th | Nov 17 | Rust ...
| Homework 10* | Dec 2Nov 29 | |
24 | Tu | Nov 22 | Rust ... | Homework 11* | Dec 2 | |
25 | Tu | Nov 29 | Rust Concurrency | |||
26 | Th | Dec 1 | Future of FP |
...