Курсът представя основните концепции във функционалното програмиране, като акцентира върху методологията на строгото („чистото“) функционално програмиране. Разглежданите теми включват: типове величини и изрази; средства за комбинация и абстракция в езиците за функционално програмиране; примитивни данни; съставни типове данни; типове изчислителни процеси и езикови конструкции, които ги генерират; функции от първи и по-висок ред; модели на оценяване във функционалното програмиране; работа с безкрайни списъци и др.
Курсът дава практически умения за прилагане на концепциите на ООП съобразно синтаксиса, техниките и стил за програмиране, използвани в JDK 19+ при решаване на широк кръг информационни проблеми в среда за разработка IntelliJ Ultimate Edition. Тематиката на курса позволява да се усвоят съвременни технологии и добри практики за програмиране Java. Разглеждат се примери, използващи текущата версия на Java, за решаване на широк кръг информационни проблеми. Курсът е включва следните теми: Основи на ООА и моделиране с UML диаграми на класове и дейности; въведение в програмиране със структури от данни на Java, моделиране с визуален графичен редактор на интерактивен графичен интерфейс с JavaFX, изграждане на класове с композиция и наследственост, създаване и използване на модули, потребителски пакети от класове, Полиморфизъм- абстрактни класове и методи, интерфейси, Стил и ефективност при програмиране на Java, Параметризация по тип, Колекции от структури данни, Stream API и др.. По време на курса, принципите на ООП се представят посредством пълни и реалистични програмни приложения на Java.
Курсът използва IntelliJ като среда за програмиране и се съпровожда с подробни Power Point лекции за представяне на разглеждани теми, от множество примерни програмни решения, упражнения и курсови проекти, които позволяват да се изясни решаването на често срещани бизнес проблеми в предвидените практически занятия.