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

Understanding Maths and Logic in Computer Science (FutureLearn) FutureLearn
Raspberry Pi Foundation

Understanding Maths and Logic in Computer Science (FutureLearn)

Improve your understanding and ability to teach maths and logic in computing while building elements of an escape room. Become more familiar with maths and logic in computer science. The mathematical aspects of computer science can be difficult to understand and teach. On this course, you will be introduced to maths and logic in computing in an engaging way.

Nov 1st 2021
3 Weeks
Prepare for a Software Development Career (FutureLearn) FutureLearn
FutureLearn

Prepare for a Software Development Career (FutureLearn)

Review everything you need to know about Java and Python to start a career as a software developer. Cement your foundational knowledge of Python and Java and kickstart your career in software development. You’ll apply object-oriented programming principles to Java, and go deeper on methods, constructors, strings, inheritance, classes, and collection.

May 23rd 2022
4 Weeks
Programming Essentials with Python: Cloud Technology and SaaS (FutureLearn) FutureLearn
FutureLearn

Programming Essentials with Python: Cloud Technology and SaaS (FutureLearn)

Launch your career in programming with this course on the fundamentals of Python and other programming languages. Develop your knowledge of cloud infrastructure and cloud technologies. What’s powering the architecture of cloud computing, and how does it rely on Python programming? Take a deep dive into the cloud and look at different types of cloud architecture and learn to articulate the benefits, challenges, and opportunities they offer.

May 23rd 2022
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
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.

May 23rd 2022
4 Weeks
Programming Essentials with Python: Matplotlib and Seaborn (FutureLearn) FutureLearn
FutureLearn

Programming Essentials with Python: Matplotlib and Seaborn (FutureLearn)

Explore the fundamentals of object-orientated programming languages and learn how to visualise data with Python. Discover Python libraries and the tools to improve your data presentation. On this course, you’ll examine the core principles of data-visualisation libraries. You’ll learn to define object-oriented programming, explore the key components of visualising with Python and the tools that can be leveraged. You’ll also explore other Python libraries and their uses, learning how to define and compare them.

May 23rd 2022
4 Weeks
Big Ideas in Programming: Expressing Yourself with Python (FutureLearn) FutureLearn
University of Michigan

Big Ideas in Programming: Expressing Yourself with Python (FutureLearn)

Harness the power of Python and its programming concepts to express yourself and automate the work you do. Learn the Python basics you need to create the content and projects you want. Coding and programming allow better work performance, across diverse professions. If you want to discuss ideas with programming professionals or develop the code yourself, you need to know the basics.

Sep 27th 2021
4 Weeks
Teaching Physical Computing to 5-11 year olds (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Teaching Physical Computing to 5-11 year olds (FutureLearn)

Teach your young learners how to create electronic circuits, then learn to control them using block-based programming languages. Learn how to create physical computing projects using a Crumble or micro:bit. Physical computing is the process of designing, building, and programming systems that use physical components such as buttons, lights, and motors.

Mar 6th 2023
3 Weeks
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
Software Development Basics (FutureLearn) FutureLearn
FutureLearn

Software Development Basics (FutureLearn)

Learn the basics of HTML code, gain expert insights into web development, and decide if the industry is right for you. Kick-start your career in web-based software development. The web design and development industry is growing exponentially and offers several exciting employment opportunities. Many people perceive this field as too complex, assume they won’t understand the material and therefore don’t consider it as a viable job prospect.

Oct 25th 2021
4 Weeks
Robotics With Raspberry Pi: Build and Program Your First Robot Buggy (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Robotics With Raspberry Pi: Build and Program Your First Robot Buggy (FutureLearn)

Build and program your first robot buggy using a Raspberry Pi, learning how to connect motors, add sensors and write algorithms. Learn robotics by building a robot buggy and controlling it with a Raspberry Pi. On this course from the Raspberry Pi Foundation, you’ll build a robot buggy controlled by a Raspberry Pi.

Jan 2nd 2023
3 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