Functional programming: Advanced features and distributed programming

Individual course

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.

Responsible teacher

University of Tampere
Jyrki Nummenmaa
jyrki.nummenmaa(at)tuni.fi

Further information about the course and studying

Tampere University
Teemu Rauhala
teemu.rauhala(at)tuni.fi

Contact person for applications

FITech-verkostoyliopisto
Fanny Qvickström, Opintoasioiden suunnittelija
info(at)fitech.io

Topics:

Course code:

Study credits:

Price:

Course level:

Teaching period:

Application deadline:

Host university:

Who can apply:

Teaching method:

Place of contact learning:

Teaching language:

General prerequisites:

Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.