Comparing Courses: MMH vs. The Rest

Due to some technical issues, our Spring Sale has been extended! You have until Monday, May 12 to get 20% off of all our courses and bundles with the code SOLVE25, and you can get an even bigger 30% discount if you subscribe to our mailing list.

Having now released the final portion of Solve.hs (probably my last course for a while) I wanted to consider the broader landscape of Haskell courses. What other courses are out there? Are they better than mine?

So I’ve actually purchased a few other Haskell courses, and spent a decent amount of time going through their material. I may not be the smartest person to write a Haskell course and I definitely don’t have the most industry experience with Haskell. But, having explored some of these other courses, I think there are some good reasons to consider my courses among the top tier in the Haskell community.

So on the last day of this sale, I wanted to explore a few areas where I think my courses stand out above the rest.

Breadth of Material

There’s a common thread among most Haskell material out there, including and especially courses. They will generally all cover the same topics. You can generally expect to see all of the following in a Haskell course:

  1. Basic Syntax and Types
  2. Typeclasses and polymorphism
  3. Basic Recursion
  4. Understanding Functors, Applicatives & Monads
  5. Using the IO monad
  6. Basic use of the Map type

In some cases, you’ll also see something like a basic web server. And there’s a good reason for this progression. I covered the same material in Haskell From Scratch!

But there’s generally a lack of material in a lot of cool and interesting areas. I’ve done my best to cover a lot of these areas throughout my courses. Here are some of those topics, and the corresponding courses that cover them.

  1. Data structures (beyond lists and maps) - Solve.hs
  2. Algorithms - Solve.hs
  3. Parsing Complex Data - Making Sense of Monads, Solve.hs
  4. Advanced Web Servers - Practical Haskell
  5. Complex Effect Stacks - Effectful Haskell, Practical Haskell
  6. Unit Testing Details - Practical Haskell
  7. Machine Learning - The Haskell Brain

Simply put, I haven’t found a Haskell resource anywhere else that puts all these concepts together in a course-like environment. You could potentially find some blog posts that discuss them, or read the documentation, but this leads to the next point.

Detailed and Challenging Exercises

Reading by itself is rarely enough to retain knowledge, especially when it comes to programming. If you read a great article about unit testing in Haskell, you’ll probably forget all the details and have to go back to it the next time you actually want to use the ideas.

You can try to follow along with the article by writing the code in your own IDE. But you’ll still probably end up just copying things, which also isn’t the best way to learn.

You can even try to devise your own project to use the knowledge. But there’s often a significant cognitive effort involved in coming up with a new idea that fits these requirements…different enough from the article that you’re actually testing yourself, but similar enough that you can actually apply the concept.

Great programming courses should provide exercises so that you can try the techniques in your own environment, without a spoon-fed answer already available to you. They should remove the overhead of coming up with your own way to test yourself, while also providing rapid feedback on whether or not you’ve succeeded.

A lot of Haskell courses I’ve seen out there don’t satisfy these criteria. I’ve seen courses out there that don’t have any exercises. And the ones that do often have at least one of the following issues:

  1. Only 1-2 problems per lecture
  2. Problems are too easy
  3. Lack of test cases
  4. No starter code (i.e. you’re only given a written description)
  5. No toolchain integration (i.e. you’re just given a file, but no project to work with or limited build instructions)

Every course on Monday Morning Haskell Academy comes with detailed exercises to help you learn the material. You’ll usually get several problems per lecture (4-6), and the starter code for these problems comes with full toolchain integration and instructions, plus automated unit test cases.

Difficulty is always going to be a bit subjective, but for most lectures I’ve made an effort to have some easier problems as well as more challenging ones.

Lecture Content and Slides

Naturally, the core content of the course is the lecture materials, so it’s worth talking about that as well! Some Haskell courses rely strictly on written material, but most incorporate slides and audio presentation.

For the most part, course authors do a fine job with their slides. But I think I go above and beyond the norm by using bold text to highlight the most important parts of the code presented, and using colors to show the relationship between different elements on the same slide and across slides.

With our courses, you’re able to get the slides as a downloadable asset. And with the level of detail on them, they serve as a useful reference for you to quickly come back to, even without listening again to the lecture audio.

Other Guarantees

Finally, it’s worth noting that our courses and bundles all come with a 14-day money back guarantee. If you don’t like the materials, you can get a refund within 14 days with no questions asked.

Additionally, all our courses guarantee lifetime access to the content. There’s no recurring subscription. So if your life is too busy to go through the full course right now, you can always save it for later!

So you may as well take a look at our course listings now, since you can get a 20% discount using the code SOLVE25 (today only!). If you subscribe to our mailing list, you’ll get an extra 10% off as well.

Our new bundles (e.g. Beginners & Advanced) are a great way to save money while exploring the full breadth of Haskell materials and topics we have to offer. If you get MMH Complete, you’ll get lifetime access to all our course content, past, present and future! So don’t miss out, take advantage of the sale today!

Previous
Previous

Hey ChatGPT, Write me a Haskell Course?

Next
Next

New Course Bundles!