Bachelor
2024/2025
Functional and Logic Programming
Type:
Elective course (Software Engineering)
Area of studies:
Software Engineering
Delivered by:
School of Software Engineering
Where:
Faculty of Computer Science
When:
3 year, 1, 2 module
Mode of studies:
offline
Open to:
students of all HSE University campuses
Instructors:
Dmitry V. Soshnikov
Language:
English
ECTS credits:
5
Contact hours:
56
Course Syllabus
Abstract
The course presents two programming paradigms: functional programming and logic programming. Most of the attention is given to functional programming, as more useful in practice. The importance of learning other programming paradigms cannot be underestimated: it helps students to look at problems from different viewpoints, to attempt different ways of problem decomposition, as well as to use more appropriate tools (eg. functional and logic programming languages) for some of the problems. Students learn the mathematical basics and underlying algorithmic model of functional and logic languages, thus understanding deeper relationship between mathematical models and programming languages and their semantics. Most importantly, they also get experience in practical functional programming using F# programming language, which gives them useful practical tool for many data processing tasks. The course is designed for students of the bachelor program "Software Engineering" at the Faculty of Computer Science, HSE.