Week 4: Higher order functions 1. Functional Expressions video slides Lambda expressions as values 2. Functions as First-Class Values video slides Using first class functions 3. Functions with Multiple Arguments video slides Functions returning functions 4. Partial Function Application video slides Optimizing partial applications A small arithmetic interpreter 5. Mapping Functions on Lists video slides Using and writing the map function 6. Folding Functions on Lists video slides Using fold to produce lists Using fold to check predicates