Skip to main content

Functional ProgrammingLaajuus (5 cr)

Code: TT00CD95

Credits

5 op

Teaching language

  • English

Responsible person

  • Jani Immonen

Objective

You will be aware of the functional programming paradigm and write simple programs and services using a purely functional language. You understand the functional programming paradigm and will be aware of concepts such as immutability and recursion.

EUR-ACE Competences:
Knowledge and understanding
Engineering practice
Investigations and information retrieval
Multidisciplinary competences
Communication and team-working

Learning outcomes:
You will be able to utilize functional programming principles and develop software with at least one purely functional programming language.

Content

In this course, you will become familiar with the functional programming paradigm and learn to write simple programs and services using a purely functional language. By the end of the course, you will understand the principles of functional programming and concepts such as immutability and recursion. You will be able to utilize functional programming principles and develop software with at least one purely functional programming language. This course equips you with the skills to apply functional programming methods in practice and work effectively in multidisciplinary teams.

The course covers an introduction to functional programming using a purely functional programming language. The course also covers various programming language related concepts and terminologies, e.g. mutability and state.

Qualifications

Basics of programming, Data structures and algorithms

Assessment criteria, satisfactory (1)

Sufficient (1): You are familiar with the topics discussed during the course. You are able to write simple functions in a functional manner using a functional programming language with assistance.

Satisfactory (2): You understand most of the topics discussed during the course, however, you struggle to utilize this knowledge. You are not able to search for relevant information independently. You are able to write simple programs in a functional manner using a functional programming language with assistance.

Assessment criteria, good (3)

Good (3): You are able to utilize the knowledge gained on the course in the most basic cases. You are able to utilize the information about the discussed topics. You are able to write simple programs in a functional manner using a functional programming language.

Very good (4): You are able to utilize the knowledge gained on the course in most common cases. You are able to search for and understand information about the discussed topics. Yo are able to write programs in a functional manner using a functional programming language.

Assessment criteria, excellent (5)

Excellent (5): You understand all topics discussed during the course and are able to use them in an innovative manner even in challenging situations. You are able to search and utilize information about the discussed topics independently. You are able to write complex programs in a functional manner using a functional programming language.