Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

This course may be unavailable.

### Overview

##### Limited-Time Offer: Up to 75% Off Coursera Plus!
7000+ certificate courses from Google, Microsoft, IBM, and many more.

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.

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.

### Syllabus

• Introduction
• Haskell Basics: Expressions and Equations
• Haskell Basics: Reduction, Functions and Lists
• Finding Out More
• Input and Output
• Installing GHC
• Data Structures and Types
• Functions on Lists
• Custom Data Types
• When Programs Get Bigger
• Program Structure
• Parsing Text
• Am I Right?
• Laziness and Infinite Data structures
• Haskell in the Real World
• Think like a Functional Programmer
• Type Classes
• Geek Greek
• The M-word
• So long and thanks for all the fun(ctions)!

### Taught by

Jeremy Singer and Wim Vanderbauwhede

## Reviews

4.0 rating, based on 1 Class Central review

4.7 rating at FutureLearn based on 43 ratings