Monday Morning Haskell Courses

If you really want to invest in your Haskell learning process, we have many different premium courses available for you to try! These courses come with video lectures, slides, and programming exercises with detailed instructions. No matter what your current knowledge level is, you can find a course that will give you hands on experience with this awesome language!

(Which course should I take?)

Haskell From Scratch

If you've never written a line of Haskell before, this is the course for you! This course assumes no prior knowledge of Haskell, just a basic understanding of programming princples. This course will teach you all the basic syntactic constructs so you can start writing your own code. You'll learn some simple problem solving skills and have the chance to work on a basic project at the end.

This course also includes Making Sense of Monads, so you'll also get a solid grasp of monads in Haskell, including the IO monad.

For more details, take a look at the course page!

Setup.hs

This is our free mini-course designed to teach you how to use Haskell's Stack program. You'll learn the basic organization of a Haskell project repository, all the ins and outs of building and testing your code, as well as some tips for setting up your editor with Haskell hints and suggestion! This makes a great companion course to Haskell From Scratch above.

Solve.hs

Once you know about the core syntax ideas, you need practice! Solve.hs will teach you about the core problem solving patterns in Haskell. These patterns are different than what you'll find in most languages! Haskell is also unique in some of the ways its data structures are implemented, and you'll learn about these differences and the main APIs you need to use data structures in your code!

Learn more on the course page!

Making Sense of Monads

If you've written some Haskell code before and know the basics, but don't quite understand monads yet, this is the course for you! We'll build up our knowledge of Haskell's functional structures, starting with Functors and Applicative Functors. Then we'll see how these inform our knowledge of monads, and we'll go through all the most common and useful monads Haskell has to offer.

This course wraps up with two practice projects so you can master your monad skills.

Note: This course is included with Haskell From Scratch.

For more details, take a look at the course page!

Effectful Haskell

This intermediate course builds on a basic knowledge of monads and shows you how to take this knowledge a step further. We'll explore several different ways of organizing monadic effects in our program. You'll learn a ton about monad typeclasses and free monads, and also get the chance to build a working web application.

This course makes a great follow-up to Making Sense of Monads!

For more details, take a look at the course page!

Practical Haskell

If you've mastered the basics of Haskell and are ready for a project-based approach, this is the course for you! Throughout this course, you'll build up a functional full-stack web application. You'll see the unique advantages Haskell brings to the table when it comes to writing a database schema, or building a web API. You'll learn solid unit testing fundamentals and get some experience with Elm, a functional frontend language!

For more details, take a look at the course page!

The Haskell Brain

Machine learning is one of the most important concepts in software these days. In this course, you'll learn how to write machine learning programs in Haskell with Tensor Flow! You'll also experiment with the Grenade library, which combines machine learning with the powerful concept of dependent types!

For more details, take a look at the course page!

Frequently Asked Questions

Which course should I take?

If you're a beginner, Haskell From Scratch is your best bet to learn the basic syntax. If you know about Haskell's syntax but need more practice to solidify the fundamentals, you can take Solve.hs, which will teach you about problem solving patterns.

If you want to learn more about monads, Making Sense of Monads is a good beginner option, while Effectful Haskell is great for intermediate Haskellers.

If you want a project-based approach, Practical Haskell will teach you to write a full-stack web application, while The Haskell Brain will teach you about machine learning.

When can I start the course?

All our courses are self-paced. Once you buy the course, you can start watching all the video lectures. For most courses, you will then need to email me your Github ID, so I can give you access to the private code repositories for the exercise material. So make sure to do that as soon as you buy a course!

Will I ever lose access to the course material?

All our courses are lifetime access. You will never lose access to the material, so you can take as long as you would like to finish the course.

Are discounts available?

Yes! We often give discounts for university students, as well as customers from countries with unfavorable exchange rates against the US Dollar.

Are refunds available?

We are happy to provide full refunds within 14 days of purchase - no questions asked!

How can I get help during the course?

You can always email me at james@mondaymorninghaskell.me with any course questions.