Materials for a student-initiated course I may teach at Stanford, cs96si: Functional Programming (2 units).
To see the lecture slides, open the ".md" files in the "slides" directory.
- You enjoy programming
- Learn new, surprising, and effective programming techniques. You will think about programming in new ways.
- Mastery of basic functional programming techniques
- Higher order functions, function composition, curried functions, lambdas, folds
- Recursion, lazy evaluation
- Modularity, abstraction,
- Composable computation in Haskell (Monoids, Functors, Applicatives, Monads)