- Offered by: University of Helsinki
- Prerequisites: None
- Programming Languages: Haskell
- Difficulty: 🌟🌟
- Class Hour: Varying according to the learner
Its core ingredient is functional programming. Just like Java is probably the default choice for teaching object-oriented programming.
This course will teach just enough Haskell syntax, library functions, and a small number of tools to explain the core program semantics and the core idea of functional programming. This will save you time not getting bogged down in the details of the language and its ecology, which I think is the biggest advantage of the course.
Topics covered in the course:
- Pure Function
- Lazy Evaluation
- Strongly Typed
- Type Inferred
- Monoid / Functor / Monad / Applicative
If you have some programming experience, part 1 of the course is very easy. Most of the difficulties lie in part 2, after chap 13. Its exercises are great, which can give you a feeling of doing exercise of CS61A. There are enough hints in the comments and the solutions will be given to you after submission, and you can ask questions or discuss them with others in the official Telegram community.
- Course Website: https://haskell.mooc.fi/
- Recordings: None
- Textbooks: https://haskell.mooc.fi/
- Assignments: https://github.com/moocfi/haskell-mooc
- Community: https://t.me/haskell_mooc_fi
All the resources and assignments used by @showtheunli in this course are maintained in showthesunli/haskell-mooc - GitHub. (It is highly discouraged to refer to other people's implementations when working on assignments.)