Course in Functional Programming in Haskell: Supercharge Your Coding

FutureLearn

Programme Description

Course in Functional Programming in Haskell: Supercharge Your Coding

FutureLearn

Why join the course?

Do you want to develop software using the latest programming language paradigm? Haskell is a functional programming language, based on formal mathematical principles. As such, it is easy to reason about and develop, and it executes efficiently on modern multicore machines. From investment banks to social networks, everyone is adopting Haskell.

Get an introduction to functional programming in Haskell

On this introductory course, you will discover the power, elegance and simplicity of functional programming in Haskell. By the end, you will be able to:

  • characterise the differences between imperative and functional programming paradigms;
  • implement small-scale functional programs in elementary Haskell;
  • apply standard combinators for operating on lists;
  • create new algebraic data types and use recursion to define functions that traverse recursive types; and reason in a mathematical manner about data types, functions, recursion and similar functional constructs.

Learn with developers from the birthplace of Haskell

This course has been created by the School of Computing Science at the University of Glasgow – the virtual birthplace of the Haskell language, where many of its original developers worked. It will give you the opportunity to learn with these experts and join the growing, global community of Haskell programmers.

What topics will you cover?

  • Evaluation via expression reduction
  • Semantics of function abstraction and application
  • Operations involving basic types including integers, characters and booleans
  • Definition and traversal of recursive data types including lists and trees
  • Techniques for structuring programs of non-trivial size
  • Developing custom parsing tools with library support
  • Automated testing with the QuickCheck tool
  • Infinite data structures and lazy evaluation
  • Type classes
  • Principles of Lambda calculus
  • Monads

What will you achieve?

  • Develop simple programs involving basic Haskell techniques, including pure function definitions
  • Produce definitions of algebraic data types and apply recursion to define functions that traverse such types
  • Interpret data structures and function interfaces using types
  • Apply formal methods to prove properties of functional programs
  • Develop, modify, and explore code using standard Haskell platform tools
  • Justify why a program uses common standard monads (including IO and Maybe)
  • Explore standard combinators for operating on lists

Who is the course for?

This course is intended for learners who already have experience of at least one programming language, such as Python or Java. You might be a computer science student, a software developer who wants to learn a new programming style, or somebody considering university study in computer science or information technology.

Miscellaneous

  • FREE online course
  • Duration: 6 weeks
  • 4 hours pw
  • Certificates available
This school offers programs in:
  • English
FutureLearn

Last updated November 11, 2017
Duration & Price
This course is Online
Start Date
Start date
Open Enrolment
Duration
Duration
Part time
Full time
Price
Price
Free
Information
Deadline
Locations
United Kingdom - UK Online
Start date: Open Enrolment
Application deadline Request Info
End date Request Info
Dates
Open Enrolment
United Kingdom - UK Online
Application deadline Request Info
End date Request Info
Price
FREE online course