Functional programming
This topic requires a new approach for students as they learn about programs operating on distributed systems handling Big Data. Through hands-on activities this set of resources links the theory to the practice of functional programming, using multiple languages including Haskell and Python.
- ALL
- Teacher guidance
- Information sheet
- External link
Teacher guidance
A practical introduction to functional programming
This is a very comprehensive introduction to functional programming concepts using Python 2 from Mary Rose Cook’s blog. Students can work through the activities, using a language of their choice, to learn a wide range of techniques including using maps, lambda, reduce and pipelines.
What are functions
Another blog, this time from Mr CompSci, detailing key concepts of functional programming. This is a useful resource for teachers as well as students. It could be used as a revision resource, a reference or for students to prepare notes from.
Functional programming for Haskell for A level teachers
This blog from Tony Ballantyne assumes no previous Haskell experience but progresses through a series of exercises to cover all key characteristics of the language.
Information sheet
Haskell worksheet
It is a valuable experience for students to experience coding in a variety of languages. This worksheet introduces the functional paradigm and compares functional coding in Python and Haskell. The resource is a useful introduction to the Haskell language.
External link
Functional programming in Python
A document from IBM Developer Works that illustrates how Python can be programmed in a functional style. This could be used with students who are already familiar with Python but wish to expand their repertoire and use an alternative paradigm.
Programming with big data
This document produced by Stanford University illustrates the link between functional programming and Big Data. It can be used as a comprehension or research activity with students.