Метою навчальної дисципліни "Теорія програмування" є вивчення основних (базових) понять теорії програмування, розгляд основних аспектів програм (семантика та синтаксис), їх формалізації та дослідження. В загальносвітоглядному аспекті, поняття і методи теорії програмування необхідні для обґрунтування та формалізації способів розробки правильних та ефективних програм. В прикладному аспекті, апарат теорії програмування необхідний для адекватного моделювання  мов специфікацій і програмування та використання побудованих моделей для створення сучасних програмних та інформаційних систем високої якості.

Для засвоєння курсу необхідні знання основ елементарної математики, дискретної математики, алгебри, математичної логіки та теорії алгоритмів. Студент повинен знати основи теорії множин, основи загальної алгебри, теорії алгоритмів, пропозиційної логіки та логіки предикатів.