Курсът запознава студентите с характерните черти и теоретичните основи на функционалното програмиране. Изучават се основните конструкции на езиците за функционално програмиране и структурата на функционалните програми. Особено внимание се отделя на някои специфични въпроси като функции от по-висок ред, анонимни функции, дефиниране на функции на функционално ниво, частично прилагане на функции, отложено оценяване и работа с безкрайни потоци, „мързеливо“ оценяване и др. Дискутират се основните принципи на създаване на ефективен код на езика Scheme/Racket и се представят средства за изследване на свойствата на функционални програми на езика Haskell. Разглеждат се някои характерни приложения на езиците за функционално програмиране.
Курсът въвежда в основите на процедурното програмиране. Изложението е съчетано с изучаването на езика C++. Основава се на метода на структурното програмиране. Разглеждат се скаларните и съставни типове от данни, характерни за повечето езици за процедурно програмиране, а също и някои специфични за езика C++. Основно внимание е отделено на алгоритмите и реализирането на процедурните програми. Изучават се основните структури за управление на изчислителния процес и реализациите им на C++. Специално внимание е отделено на механизмите за изпълнение на функционалните обръщения, на рекурсията, на верификацията на процедурни програми. В процеса на изложение на учебното съдържание се анализират и реализират редица практически значими приложения на езиците за процедурно програмиране, свързани с масивите и структурите.
Курсът изучава основните концепции, свързани със структурите от данни; описанието им; създаването на абстрактни типове данни, определящи типове на структури от данни; класифицирането на структурите. Разглежда описанието и реализацията на различни представяния на структурите от данни: стек, опашка, свързан списък с една и две връзки, цикличен свързан списък, дърво, двоично дърво, двоично наредено дърво, балансирано двоично наредено дърво, В-дърво, граф. Всяка от тези структури е реализирана чрез примерен шаблон на клас. В курса е включена и структурата от данни файл. Не малко внимание е отделено на приложения на тези структури. Курсът предлага основни алгоритми за сортиране и търсене. Изложението се базира на обектно-ориентирания подход.