Functional programming

Course: Applied Programming

Structural unit: Faculty of information Technology

Title
Functional programming
Code
ВБ 2.6
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
8 Semester
Number of ECTS credits allocated
3
Learning outcomes
Ability to demonstrate knowledge and understanding of functional programming principles, the use of functional data structures. Ability to design and develop efficient and scalable programs using functional approaches, utilize functional programming to solve complex logic-mathematical tasks. Ability to effectively apply knowledge and skills in the field of functional programming to develop high-quality, scalable, and reliable software.
Form of study
Full-time form
Prerequisites and co-requisites
Having a bachelor's degree. Have elementary skills in in higher mathematics and programming.
Course content
The study the course “Functional Programming” aims to study of the functional programming paradigm based on lambda calculus; fundamental theoretical constructs, concepts, and definitions of functional programming languages; major classes of problems suitable for solving using functional programming; comparison of functional, imperative, and object-oriented paradigms for solving specific tasks. Practical application of theoretical knowledge and acquisition of functional programming skills are achieved through the use of the Haskell programming language. The goal of this discipline is to teaching the academic discipline is to provide students with an understanding of existing programming paradigms, particularly functional programming, and to familiarize them with the Haskell programming language for solving practical scientific and technical problems.
Recommended or required reading and other learning resources/tools
1.Whitington, Jh. Haskell from the Very Beginning. Coherent Press. 2019. 214p. 2.Mena, A.S. Practical Haskell: A Real World Guide to Programming. 2nd Ed. Apress. 2019. 617p. 3.Kurt, W. Get Programming with Haskell. 1st Ed. Manning Publications. 2018. 616p. 4.Документація Haskell https://www.haskell.org/documentation/ 5.Parallel and Concurrent Programming in Haskell, https://simonmar.github.io/pages/pcph.html
Planned learning activities and teaching methods
Lectures, practical activities, individual work
Assessment methods and criteria
The level of achievement of all planned learning outcomes is determined based on the results of the defense of practical work and individual work. The overall grade is formed (maximum of 100 points) as the sum of points for systematic work throughout the semester, taking into account the control work. The credit is given based on the results of the student's work throughout the semester. Students who have accumulated a total of fewer points than the recommended minimum of 48 points must work on the missed material and pass the credit to obtain it. At the student's request and if they have credit points, they can improve their result by taking an additional credit test, which is evaluated at 20/12 points, but the total number of points cannot exceed 100 points. Thus, the final evaluation for the discipline (minimum of 60, maximum of 100 points) is determined by the sum of the points for the semester work.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Departments

The following departments are involved in teaching the above discipline