This document is for me to use during, and to distribute after, a lecture at Manchester's Xaverian College, where I'm very honoured to be able to help introduce some core concepts in functional programming, in my role as STEM Ambassador.
I'm writing it in draft mode in public, as a sort of experiment. Feedback gratefully accepted!
Part 1 - First-class functions, list processing and higher-order functions
Part 2 - More higher order functions
Transforming with fold (aka reduce)
Part 3 - Different syntaxes and languages
Fat arrows and more concise function definitions
Our examples in Clojure
Part 4 - Classic list processing
(To cover lists, head+tail / first+rest and recursion)