Functional programming (121 Software engineering)

Type: Normative

Department: optoelectronics and information technologies

Curriculum

SemesterCreditsReporting
33Setoff

Lectures

SemesterAmount of hoursLecturerGroup(s)
316Senior Researcher Sveleba S. A.ФеП-21

Laboratory works

SemesterAmount of hoursGroupTeacher(s)
316ФеП-21Senior Researcher Sveleba S. A.

Опис навчальної дисципліни

The purpose of teaching the subject
The aim of the course is to study the principles, techniques and methods of functional programming. Mastering the basic capabilities of functional programming on the example of the Python programming language.
Objectives of teaching the subject
After studying this discipline, the student
should know

methods of packing and unpacking arguments, assignment operators, key arguments and default arguments,
scopes, global and nonlocal operators
anonymous functions, map, filter and zip
generators of lists, sets and dictionaries
decorators, decorator syntax
decorators with and without arguments
examples of using decorators

should be able to:

solve problems on building a theory of a certain area of knowledge, gain new knowledge about it;
apply functional programming to process recursive data structures, solve numerical problems;
apply functional programming to implement parallel computing.

To study the discipline, you need knowledge of the following disciplines: “Discrete Mathematics”, “Fundamentals of Python Programming”.

Recommended Literature

Downey, A.B. Think Python [Text] / Allen B. Downey. – O’Reilly, 2012. – 300 p.
Phillips, D. Python 3 Object Oriented Programming [Text] / Dusty Phillips. – Birmingham: Packt Publishing, 2010. – 404 p.
Methodical instructions for performing laboratory work in the discipline “Algorithm Development Technologies” for full-time and part-time students majoring in 6.050102 and 123 “Computer Engineering”, 6.170103 and 125 “Cybersecurity” / comp. Hermak V.S.; Kropyvnytskyi: CNTU – 2018. 81 p.
Methodical instructions for the implementation of laboratory work in the discipline “Engineering of applied intellectually oriented software products” for students majoring in 121 “Software Engineering” and 122 “Computer Science and Information Technology” (all forms of education) / V.M. Levkin – Zaporizhzhia: ZNTU, 2016. 80 p.
Programming of Numerical Methods in PYTHON / A. Doroshenko [et al.
Programming of Numerical Methods in Python: a textbook / A. V. Anisimov, A. Y. Doroshenko, S. D. Pogorilyi, Y. Y. Dorohyi; edited by A. V. Anisimov – Kyiv: Kyiv University Publishing and Printing Center, 2014. 640 p.

Силабус:

Завантажити силабус