Functional Programming in Haskell: Supercharge Your Coding (FutureLearn)

Offered by University of Glasgow,
Functional Programming in Haskell: Supercharge Your Coding (FutureLearn)

Get an introduction to Haskell, the increasingly popular functional programming language, with this University of Glasgow 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.

Class Deals by MOOC List - Click here and see FutureLearn's Active Discounts, Deals, and Promo Codes.

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?
By the end of the course, you'll be able to...

  • 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
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Get ready for a Masters in Data Science and AI (FutureLearn) FutureLearn
Coventry University

Get ready for a Masters in Data Science and AI (FutureLearn)

Identify whether you’re ready for Master’s study, improve your data science skills, and get to grips with the basics of Python. Get a taste of life as a Data Science and AI Master's student. On this course, you’ll have the opportunity to explore the disciplines involved in a Master’s degree in Data Science and Artificial Intelligence (AI).

Apr 17th 2023
2 Weeks
Programming Applications with Python: Working with Files (FutureLearn) FutureLearn
FutureLearn

Programming Applications with Python: Working with Files (FutureLearn)

Discover how to read and create files and directories in Python, and how Python is used for data collection and exploration. Learn how to use Python create applications. On this course, you’ll start to develop the knowledge and skills needed to successfully launch a career in programming or software development, learning how to program applications using Python. You’ll study alongside industry experts at Github, giving you the confidence and competitive advantage to work in or manage development teams.

May 23rd 2022
4 Weeks
Programming 103: Saving and Structuring Data (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Programming 103: Saving and Structuring Data (FutureLearn)

Learn how to save and structure data in external files, and import files back into your Python programs. Supported by Google. Discover how to save data to use it across multiple runs of your program. On this course, you will learn how to save text and binary files, and how to structure data so that programs can interpret it correctly.

Jan 2nd 2023
3 Weeks
Introduction to VR Programming, Design, and Unity (FutureLearn) FutureLearn
VR Voom

Introduction to VR Programming, Design, and Unity (FutureLearn)

Step into the world of VR game development, learn the basics of programming language, and even create your own 2D game. Learn how to design, program, and create your very own VR games. The gaming industry has grown exponentially, outperforming both movies and sports combined in 2020. And VR is the newest, exciting innovation taking the industry by storm.

Jun 27th 2022
5-12 Weeks
Functional Programming in Erlang (FutureLearn) FutureLearn
University of Kent

Functional Programming in Erlang (FutureLearn)

Learn the theory and practice of functional programming in Erlang, through practical exercises and suggested projects. Functional programming is increasingly important in providing global-scale applications on the internet. For example, it’s the basis of the WhatsApp messaging system, which has over a billion users worldwide.

No sessions available
3 Weeks
Learn to Code for Data Analysis (FutureLearn) FutureLearn
The Open University

Learn to Code for Data Analysis (FutureLearn)

Software and data make the world go round. Learn programming, to analyse and visualise open data, with this free online course. This hands-on course will teach you how to write your own computer programs, one line of code at a time. You’ll learn how to access open data, clean it and analyse it and to produce visualisations. You will also learn how to write up and share your analyses, privately or publicly.

No sessions available
4 Weeks
Programming 101: An Introduction to Python for Educators (FutureLearn) FutureLearn
Raspberry Pi Foundation

Programming 101: An Introduction to Python for Educators (FutureLearn)

Explore the basics of Python. Guided by the Raspberry Pi Foundation, you’ll learn to code your first program. Learn how to program in Python with help from Raspberry Pi. On this course, you’ll explore programming in Python. Guided by the Raspberry Pi Foundation, you’ll discover basic programming concepts, learning how to understand the basics of python syntax and interpret error messages.

Nov 1st 2021
4 Weeks
Object-oriented Programming in Python: Create Your Own Adventure Game (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Object-oriented Programming in Python: Create Your Own Adventure Game (FutureLearn)

Learn object-oriented programming principles by creating your own text-based adventure game in Python. Object-oriented programming is a programming paradigm based on objects and data rather than actions and logic. This online course will introduce you to the principles of object-oriented programming in Python, showing you how to create objects, functions, methods, and classes.

Jan 2nd 2023
4 Weeks
Video Game Design and Development: Introduction to Game Programming (FutureLearn) FutureLearn
Abertay University

Video Game Design and Development: Introduction to Game Programming (FutureLearn)

Discover the essentials of video game programming and learn how you can start your own programming career. Learn the basics of game development to understand how great games are designed. Video games have become a multi-billion-dollar industry, even recently overshadowing cinema as the globe’s go-to entertainment medium of choice.

Jun 28th 2021
2 Weeks
Getting Started with Your Raspberry Pi (FutureLearn) FutureLearn
Raspberry Pi Foundation

Getting Started with Your Raspberry Pi (FutureLearn)

Discover how to set up and control your new Raspberry Pi, as well as how to use it for everyday tasks and to learn how to code. Start your Raspberry Pi journey with this introductory course. The Raspberry Pi is an accessible and versatile mini-computer – let the Raspberry Pi Foundation guide you on how to get started on your journey of exploring its many uses and applications.

Jul 20th 2020
3 Weeks
Software Development: Understanding Python (FutureLearn) FutureLearn
FutureLearn

Software Development: Understanding Python (FutureLearn)

Get an introduction to software development and learn the basics of Python. If you want to start a career in software development, it’s important to build your programming skills. This course focuses on one of the most popular programming languages – Python – which is widely used in scientific and numeric computing.

Self Paced
4 Weeks