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
2021/2022
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
DEPARTMENT OF APPLIED INFORMATION SYSTEMS
Faculty of information Technology
Faculty of information Technology
Departments
The following departments are involved in teaching the above discipline
DEPARTMENT OF APPLIED INFORMATION SYSTEMS
Faculty of information Technology