Дисципліни, які викладає
Моделі обчислень в програмній інженерії
Теоретичний базис програмної інженерії - моделі обчислень, що використовуються в основі ведучих мов програмування. В ході курсу студенти отримують теоретичні знання та практичні навички в роботі з наступними моделями обчислень: нормальні алгоритми Маркова, машини Тьюрінга, машини з необмеженими регістрами, системи Поста, частково-рекурсивні функції та лямбда числення. Для практичної роботи використовується інтерпретатор моделей зі зручним графічним інтерфейсом.
Функціональне програмування
Курс передбачає вивчення парадигм функціонального програмування на прикладі мови Haskell. В курсі розглядаються основні методи і засоби конструювання функцій-програм та алгебраїчних типів даних. Студенти ознайомляться з системою типів мови Haskell, кортежами, списками, деревами і іншими структурами даних, в тому числі нескінченними, отримують теоретичні знання і практичні навички в роботі з монадами: Maybe, List, State, введення-виведення та синтаксичні аналізатори