Курсът Object-Oriented Programming Advanced с Java надгражда курса Object-Oriented Programming Basics с Java като залага най-вече на добрите практики в парадигмата "обектно-ориентирано програмиране" и имплементацията им в Java среда. Изучават се абстракция и програмиране с интерфейси, преизползваемост на кода, поддръжка и лесна променяемост чрез инструменти като събития, reflection, generics и разбиране на принципи като Open / Closed Principle и Liskov Substitution Principle.
Курсът е част от цялостната програма с Java курсове и уроци за обучение по професия "Java програмист" в Софтуерния университет.