Online Haskell Course – Disclosure: Class Central is student supported. When you purchase a link on our site, we may earn an affiliate commission.
In this guide, I’ve selected the best free online courses for learning Haskell, a purely functional programming language commonly used in academia and research. This is directed to the functional programming paradigm, meaning that functions in Haskell resemble more closely their mathematical counterparts than other imperative programming languages. Along with other different features like laziness, algebraic data types, and monads, learning Haskell opens you up to a whole other way of coding.
Online Haskell Course
Haskell is a general-purpose, statically typed, purely functional programming language used for teaching, research and industrial applications. Named after logician Haskell Curry, it first appeared in 1990 as an open source alternative to other proprietary programming languages. It is one of the most popular functional programming languages, ranked 39th in the Tiobe Index.
Thinking Functionally With Haskell
Haskell is purely functional, which means that functions do not update or modify state and variables. This gives programmers comfort because they will know that the code they write will not change anything outside of their bodies. It is also statically typed at compile time while at the same time having type inference, so you can ensure that no type errors occur at run time. And along with other cool features like concurrency and laziness, Haskell has a lot going for it.
I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:
This is a free online course in the Haskell programming language for beginners to experienced programmers. This course is divided into two parts: Part 1 focuses on the basics of Haskell in the context of pure functional programming and Part 2 will introduce Input / Output (I / O) and monads.
No prior knowledge of programming is required to take this course, although knowing at least one programming language helps.
What Is Haskell, And Who Should Use It?
Part 1 introduces you to the basics of the Haskell programming language. If you come from an object-oriented language, you will immediately notice how different the functional paradigm is, like how Haskell has no unintended side effects. But before that, you will learn how to write expressions and statements and apply programming logic in your code.
Now, you’ll explore the wonderful features Haskell has to offer, starting with recursion that can be daunting to write in other languages but directly in Haskell. You will also learn about higher-order functions that take functions as arguments, algebraic data types that allow you to contain different cases, pattern-matching, lists and more.
In Part 2, you’ll dig deeper into the heart of Haskell, starting with laziness and purity — two hallmarks of haskell. I / O will also be taught to help you cause unintentional side effects, while the mysterious concept from functor to monad (and don’t forget the applicative in between) will be elucidated to you. Finally, you will end the course by going through various but good-to-know topics like parallelism.
The course is 100 hours long and is divided into 8 text-based lectures. Each set of lectures ends with a quiz as well as 10-30 small programming exercises on the topic of the lecture.
What Are Your Toughest Challenges As An Online Course Creator?
If you are interested in this course, you can find more information about the course and how to register here.
My second choice for the best Haskell programming course is Functional Programming in Haskell: Supercharge Your Coding by the University of Glasgow.
In this free 6-week audit course, you will learn how to develop simple programs in the Haskell language, as well as see the origins and philosophy of Haskell in relation to functional programming. By the end of this course, you will be able to approach and solve the same problem in several paradigms.
This course is designed for learners who already have experience in at least one programming language, such as Python or Java.
Buy Introduction To Computation: Haskell, Logic And Automata (undergraduate Topics In Computer Science) Book Online At Low Prices In India
The course begins by putting you into familiar areas such as learning how to write basic expressions and equations. Then, you’ll discover your first Haskell specialty: functional programs have no statements! You will learn how functions are actually defined by equations and lists and list comprehensions.
Next, you will learn about Boolean statements and data types. Then, you’ll wrap your head around monads and I/O, including getting user input from the keyboard and character output to the terminal. Advanced Haskell constructs such as recursion and algebraic data types will also be discussed.
So far you have developed a fairly small Haskell program. But what if you want to create a trivial program? You will learn how to structure programs to make code more readable by parsers such as the Parsec library as well as using automated testing tools such as QuickCheck.
In the final part of the course, you will fully explore some of Haskell’s most distinctive features, such as laziness, infinite data structures, type inference, lambda calculus, monads, and more. Not only that, you will also learn how Haskell is used in the real world.
Krueger Haskell Municipal Golf Course
The course is 6 weeks long and each week takes 4 hours to complete. You’ll learn by watching lecture videos, answering quizzes, and interacting with fellow learners in the FutureLearn discussion forums.
My third choice for the best course to learn Haskell is the Haskell and Functional Programming Course for complete beginners.
It covers the fundamentals of Functional Programming (FP), Haskell Syntax and teaches you the skills to solve problems in a functional style. By the end of the free course, you will be able to write simple programs in Haskell that interact with the real world (e.g. searching for substrings in a file, counting the number of files with a given extension, etc.).
In the first lecture, you will be introduced to the basics of functional programming and Haskell. You will learn what makes functional programming special to begin with and then see how Haskell is geared towards it. For example, you’ll go over common programming concepts like variables, control statements, and functions, but learn about immutability, higher-level functions, and laziness — Haskell’s defining features.
Haskell Exchange 2021: Pro Track
The second lecture is about data types, but more specifically Haskell’s algebraic data types. You’ll be amazed at how flexible it is when you create your own data types to help encapsulate the structure. In addition, you will also learn how to do pattern-matching.
Typeclasses allow methods to be used on multiple types (similar to generics). The third lecture aims to familiarize you with them, along with other concepts such as functors, folds, and polymorphism. You will also see what lazy evaluation means in Haskell.
In the fourth and final lecture, you will discover the dangers of side effects and see how monads fix these problems. You will explore various monad programming patterns as well as learn about applicatives.
The course is 8 hours long and consists of 4 lectures. You will learn by watching lectures as well as doing practical exercises that you can complete with feedback on your solutions.
Week 1: Anu Environment, Linux, Haskell
Functional Programming in Haskell is an introductory course on Haskell by Professor Graham Hutton of the University of Nottingham.
In this free course, you’ll learn how to code in a functional style with Haskell. By the end of the course, you will have a strong grasp of both the Haskell programming language and the functional programming paradigm.
To take this course, you must have some experience with imperative programming (variables, control structures, and data structures).
The course begins by discussing what exactly a functional language is — computing by applying functions to arguments. You’ll find that the idea of functional programming has actually been around since the dawn of computing. After going through the basics (like variables and control structures), the first exotic concept you’ll learn is type classes.
Functional Programming In Haskell
After that, you’ll see how functions are defined in Haskell and see two broad categories of functions, recursive functions and high-level functions. Recursion will be discussed extensively, along with list comprehensions and the like. Finally, you will wrap up the course with I/O and Haskell’s lazy evaluation behavior.
This course is 10 hours long. You’ll learn by watching video lectures and following along in code demos. If you have the course textbook, you can practice your coding skills in chapter wise exercises.
If you’ve never programmed in your life, but are curious about what Haskell and functional programming is all about, the Type Class Beginners crash course is for you!
This course is not the complete course on Haskell that you need. Instead, the goal is to get you through the basics and a little more to get you thinking in Haskell.
Cs112: Structure Of Programming Languages A Smorgasbord Of Topics In Programming Languages Including Programming Paradigms And Syntax, Semantics, Implementation.
You will start the first part of the course by talking about functions and types available in Haskell, and see how Haskell beautifully sews these two components to work together. You will then be given a demo of GHCi, Haskell’s interactive environment.
After playing with Haskell, you’ll learn how to write small interactive programs in the second part. To do this, you will learn about IO, polymorphism, recursion, and higher-order functions.
The third part of the course runs you through project management as well as taking a closer look at recursion and high-level functions. You’ll stick to a very limited syntax to avoid unnecessary distractions while also making this digestible in as little time as possible.
Finally, the fourth session of the course discusses three important typeclasses: the
First Steps: Online Haskell Platform
Haskell programming course, online haskell interpreter, haskell online course, haskell course, haskell crash course, haskell online ide, online course, haskell online, krueger haskell golf course, run haskell online, learn haskell online, nicta haskell course