Functional Programming

Course: Computer Systems and Networks Engineering

Structural unit: Faculty of Radiophysics, Electronics and Computer Systems

Title
Functional Programming
Code
ВБ 2.3
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2022/2023
Semester/trimester when the component is delivered
7 Semester
Number of ECTS credits allocated
4
Learning outcomes
Students should learn the basic concepts and terms of functional programming, the basics of work in the Haskell Platform framework, the basic syntax of Haskell, the basic key constructs (operators) of Haskell, the rules for the creation of methods and passing parameters to methods, the rules for the creation of classes in the Haskell language, the use of objects in programs.
Form of study
Full-time form
Prerequisites and co-requisites
The study of the discipline "Functional Programming" involves a preliminary study of the normative disciplines "Programming", "Algorithms and methods of calculations", "Modern methods of programming", the discipline of independent choice of students "Web programming".
Course content
The discipline of free choice "Functional programming" includes such basic concepts as tail recursion, functional data structures, trees, cyclic structures, recursion, recursive data structures, lists, sample matching, memoization. All the concepts studied are illustrated by their application in practice.
Recommended or required reading and other learning resources/tools
1. G. Hutton. Programming in Haskell. Cambridge University Press, 2016. 2. H.Abelson, G.J.Sussman, J.Sussman. Structure and Interpretation of Computer Programs, 2nd Edition MIT Press, 1996. -http://mitpress.mit.edu/sicp/. 3. R. Bird. Thinking functionally with Haskell. Cambridge University Press, 2014. 4. M. Lipovaca. Learn you a Haskell for Great good. No Starch Press, 2011. 5. http://haskell.org – офіційний сайт мови Haskell.
Planned learning activities and teaching methods
This discipline is taught in the amount of 120 hours, in particular: lectures - 30 hours, labs - 90 hours, the course provides 2 modules, final control is conducted in the form of an exam.
Assessment methods and criteria
- semester control: provides for one oral test on the material of classes. A maximum of 20 points is awarded for a modular test. Laboratory work is estimated at a maximum of 40 points. According to the results of the semester control, a student can receive up to 60 points. - final control (in the form of an exam): the form of the exam is written-oral. In total, you can get from 0 to 40 points for the exam. The condition for achieving a positive grade for the discipline is to obtain at least 60 points, the grade for the exam can not be less than 20 points.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Oleksandr Yuriyovych Masyutka
Department of mathematics and Theoretical Radio Physics
Faculty of Radiophysics, Electronics and Computer Systems

Departments

The following departments are involved in teaching the above discipline

Department of mathematics and Theoretical Radio Physics
Faculty of Radiophysics, Electronics and Computer Systems