- Автор: проф. д-р Станимир Стоянов, Prof. Klaus Bothe, Humboldt University, Berlin, Germany
- Предназначен за: ОКС "бакалавър": Информатика, редовно/задочно, I курс; Бизнес информационни технологии, редовно/задочно, II курс; Софтуерни технологии и дизайн, редовно/задочно, II курс.
Първият от поредицата лекционни курсове в направление „Теория и практика на програмирането“. Лекционният курс е основополагащ – изучават се основите на езика за програмиране Java, предпоставка за разбиране на учебния материал в следващите курсове. Лекционният материал е обособен в две самостоятелни, но логически свързани части.
В първата част са представени базовите императивни конструкции на езика – прости и структурирани типове данни, използване на изрази, управление на контролния поток. Разглеждат се основни методи на програмирането, като линейно и двоично търсене, различни видове сортировки, смесване и рекурсия.
Втората част е въведение в обектно-ориентираното програмиране (ООП) на Java. Подходите декомпозиция и абстракция за справяне със сложността на решаваните проблеми и концепцията за абстрактните типове данни изграждат теоретичната основа на ООП. В отделни лекции са представени капсулиране на код, наследяване и полиморфизъм. Обработка на изключения, работа със събития и графични компоненти, многонишково програмиране са другите теми, разгледани в тази част. Представени са изграждането и обработката на различни видове динамични структури.
Учебният материал е окомплектован с многобройни примери. В лекционния курс е използвано съдържанието “Object-Oriented Programming in Java”, разработенo в рамките на международния проект DAAD "Software Engineering: Computer Science Education and Research Cooperation", координиран от Хумболдтовия университет в Берлин, Германия.