By Melissa Kwan, [email protected]
Date: 2/4
- Why CS 51?
- Partial application
- Motivating polymorphic types
- General course advice
Date: 2/11
- Recursive strategies
- Partial application + currying
- Relative power of higher-order functions
- Write
map
usingfold
- Write
- Motivating polymorphic types
- Options (
Some
andNone
)
Date: 2/18
- Software design and style
- Algebraic types, records, etc.
- Trees and nested data structures
- Intuition on PSET 3
Date: 2/25
- Modules vs. signatures
- Safe modules vs. unsafe modules
- Sharing constraints
Date: 3/4
- Higher-order functions
- Modules & functors
- Recursive data types
Date: 3/25
- Tail recursion
- Mutable data types (useful for PSET 7)
- Depth first search (DFS) and breadth first search (BFS)
Date: 4/1
- Infinite streams
- Naive vs. Lazy
- Composing streams
- Lazy trees
Date: 4/8
Date: 4/15
Date: 4/22