Курс складається з двох частин: математичної логіка, де вивчаються властивості теорій першого порядку, зокрема числення предикатів, теорії алгоритмів, де розглядаються концепції Гьоделя та Тюринга та Чорча.

Курс потребує базових знань курсів «Основи дискретної математики» та «Основи комп’ютерних алгоритмів».

Наступні курси: всі курси, пов’язані з програмуванням, а також курс системи кодування інформації.

Основи систем баз даних (Комп'ютерні науки)

Бази даних та інформаційні системи (Комп'ютерні науки)

Організація баз даних і знань (Програмна інженерія)

Концепції сучасного програмування  в рамках парадигм процедурно-орієнтованого програмування, абстрактних типів даних  (об’єктне програмування) і об’єктно-орієнтованого (ієрархічного) у їх розвитку і взаємозв’язку. Основу вивчення складають поняття типу, функції, в тому числі узагальненої , об’єкта  і класу, в тому числі параметризованого. Проблеми розширення областей визначення функцій, специфікації класів, побудови ієрархії об’єктів і класів, зокрема  поліморфізму, успадкування інтерфейсу і реалізації.