#IT-04-23 Functional Programming in Haskell: Supercharge Your Coding

  • Categories IT
  • Duration 13h
  • Total Enrolled 9
  • Last Update October 13, 2020

About Course

The University of Glasgow


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.


Who will you learn with?

Wim Vanderbauwhede

Professor in Computing Science at the University of Glasgow. I program mainly in Haskell, C++ and Perl and love parallel and heterogeneous programming.


Jeremy Singer

I am a lecturer in Computing Science at the University of Glasgow. I am moderately fluent in the following languages: Haskell, Java, C, Scouse and New Testament Greek.


Jan de Muijnck-Hughes

I am a Research Associate at the University of Glasgow. I specialise in Type-Driven Development of Communicating Systems using the dependently typed language Idris. I also use Haskell, Java, & Python.



Who developed the course?

University of Glasgow

The University of Glasgow

Founded in 1451, the University of Glasgow is the fourth oldest university in the English-speaking world. It is a member of the prestigious Russell Group of leading UK research universities.

What Will I Learn?

  • 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

Topics for this course

8 Lessons13h

Haskell Basics: Expressions and Equations?

In this activity we introduce basic Haskell syntax and the concepts of expressions and equations.
Basic Elements By Example00:04:01
Introduction to Expressions and Equations

Haskell Basics: Reduction, Functions and Lists?

In this activity we explain how results are computed in Haskell, and the essential concepts of functions and lists.

Finding Out More?

Resources for new Haskell programmers

Student Feedback


Total 4 Ratings

3 ratings
1 rating
0 rating
0 rating
0 rating

I'm very pleased with the course. As a Haskell-newbie, I found it very useful.

The content provides an advanced understanding of Haskell in a succinct yet lucid manner.

The content provides an advanced understanding of Haskell in a succinct yet lucid manner.

I have experimented with Haskell, but the explanation is very good and clears some of the mis understood fundamentals of Haskell.

USD$190 USD$49

Material Includes

  • Official Certificate

Target Audience

  • 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.