In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically.
Martin Odersky, Yichen Xu, Aleksander Slawomir Boruch-Gruszecki
Lionel Emile Vincent Parreaux, Aleksander Slawomir Boruch-Gruszecki