DIP330 Functional Programming

Code DIP330
Name Functional Programming
Status Compulsory/Courses of Limited Choice
Level and type Undergraduate Studies, Academic
Field of study Computer Science
Faculty
Academic staff Marina Uhanova
Credit points 2.0 (3.0 ECTS)
Parts 1
Annotation Functional programming is an alternative to imperative programming languages. Topics covered by the course include: overview of functional languages; recursion; basic functional programming constructs; sequences; Persistent Data Structures; programs as data; Monads and Functors; practical usage of functional languages..
Goals and objectives
of the course in terms
of competences and skills
The objective of the course - to understand and learn the functional programming paradigm. Tasks - to learn how to work with objects represented in the form of basic data structures, learn the concept of recursion and be able to apply it. Learn practical application of functional programming paradigm. After completing the course students will have the competencies and skills in the use of non-imperative programming.
Learning outcomes
and assessment
Has knowledge and understanding of functional programming, is able to apply functional programming as an alternative to imperative programming. - the obtained skills are tested at the exam
Has skills in application development using a functional programming language for sequence processing, function definition, recursion, and the use of filter/map/reduce functions. - successfully completed laboratory works
Has skills in using functional language's basic features on real-world problem examples. - successfully completed laboratory works
Course prerequisites Imperative programming language(s).

[Extended course information PDF]