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

Курсът предлага основни алгоритми за сортиране и търсене.
Изложението се базира на обектно-ориентирания подход.