Course contents
- Functors
- Applicative functors
- Monoids
- Monads
- Concurrency
- Parallel programming
- Software transactional memory
- Improving functional program correctness
Also possibly some changing special topics.
Learning outcomes
After completing the course, the student
- knows how to use advanced wrapper structures such as applicative functors, monoids and monads in functional programming.
- is able to write parallel and distributed systems in functional languages.
- is able to utilise software transactional memory in functional programming.
- knows various ways to improve correctness of functional programs.
Course material
Videos (online), reading (mainly the online book Learn You a Haskell)
Completion methods
Individual work & self-study with a possibility to consult the teacher. The student needs to electronically submit the required exercises (graded automatically) and take the electronic exam (organised on campus).
The course was previously available under the name Functional programming 2.
More information in the Tampere University study guide.
You can get a digital badge after completing this course.