...
Instructors | Robert "Corky" Cartwright | TA | TBA |
---|---|---|---|
Lectures | Online using Zoom | Lecture Times | 9:40am–11:00am TR |
Instructor Email | cork@rice.edu | Online Discussion | Piazza – Rice Comp 311 |
...
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 | |||||||
34 | Tu | Sep 08 | Data Definitions, Data-driven Structural Recursion, and Help FunctionsInductively Defined Data and Structural Templates | Homework 2 HTDP Part 3 | Sep 15 | |||||||
5 | Th | Sep 12 | Functions as Data and Customizers; Nameless Functions | Sep 19 | 10 | Mutually Recursive Definitions | HTDP Ch 15-17 | Sep 17 | ||||
64 | Tu | Sep 1715 | Generative Recursion | Homework 3 HTDP Parts 5-6 | Sep 2422 | |||||||
7 | Th | Sep 1917 | Accumulators and Tail Recursion | HTDP ?Homework 3* | Sep 26 | |||||||
58 | Tu | Sep 2419
| Functions as Values and Anonymous Functions | Homework 4! | Oct 6 | |||||||
9 | Th | Sep 24 | Local Definitions and Lexical Scope | Macros and Lazy Evaluation | ? | |||||||
10 | ThTu | Sep | 26Abstract Syntax and Term Rewriting29 | Abstracting Computational Patterns as Functions | Homework | 45* | ||||||
611 | TuTh | Oct 01 | Macros and Lazy Evaluation;Memoization; Review; Functional Design Patterns in OOP | |||||||||
12 | ThTu | Oct | 0306 | Java Design Recipe: OOP as an Extension of FP | Homework | 56 | Oct | |||||
7 | Th | Tu | Oct 08 | Typed Lambda Calculus |
| Th | Oct 10 | Polymorphic Lambda CalculusFunctional Java | Mid-term [Oct 09[] | |||
| 8 | Tu | Oct 1513 | Midterm Recess (no classes) | ||||||||
13 | Th | Oct 17 | 15 | Core Haskell | Homework 3 | Homework 2 | ||||||
9 | Tu | Oct 22 | Monads, For-expression desugaring | Haskell Pattern Matching | Homework 8 | |||||||
| Th | Oct 24 | Operators, Accumulators | Haskell Exceptions and Compehensions | ||||||||
10 | Tu | Oct 29 | Video: Growing a Language, by Guy L. Steele, Jr. | Haskell Type Classes | ||||||||
| Th | Oct 31 | ||||||||||
11 | Tu | Haskell Stream Processing | ||||||||||
| Th | Nov 07 | Homework 4 | Homework 3 | ||||||||
12 | Tu | Nov 12 | Traits and Mixins | |||||||||
| Th | Nov 14 | ||||||||||
13 | Tu | Nov 19 | State Monad | |||||||||
| Th | Nov 21 | Video: What to Leave Implicit, by Martin Odersky | 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 |
...