PROGRAMMING WITH PURE FUNCTIONS
Imagine programming with pure functions that are shorter, more elegant, easier to reason about, and better to execute. This is functional programming in Haskell the latest programming language paradigm.
In this course you will learn powerful functional programming techniques such as immutable data structures, higher order functions, and lambdas. Learning functional programming will make you a better programmer whatever the language you use.
All major tech companies are adopting functional programming techniques, whether it's Scala at Twitter, MapReduce at Google, or Haskell at Facebook. In fact, early work on the Haskell functional programming language took place here at the University of Glasgow, and we've been teaching it to our undergraduate Computing Science students for many years.
We introduce the Haskell language with interactive tutorials and practical programming exercises. We'll take you from the basics through to advanced features of functional programming. Deconstruct buzzwords and phrases from lambda calculus to monads and explore the history, present status and future prospects of functional programming.
On successful completion this course, you will be able to:
- Develop programming which involves basic Haskell techniques, including pure function definitions
- Interpret data structures and function interfaces using types
- Develop, modify and explore code using standard Haskell platform tools
- Explore standard combinators for operating on lists
- Produce definitions of algebraic data types and functions that traverse such types
- Apply formal methods to prove properties of functional programming
- Justify using common standard monads (including IO and Maybe)
- Application Deadline
- Start Date
- 15 Apr 2019
- 15 Apr 2019
What it's like to study online
- 100% online for complete flexibility
- Our part-time online programmes are ideal if you're working full-time or have family commitments.
- Connect to campus from anywhere
- All you need for our online programmes is a device with internet access.
- Gain a global perspective
- As an online student, you'll be part of an international community of academics and learners.