Курсът "Java OOP" ще ви научи на принципите на обектно-ориентираното програмиране (ООП), да работите с класове и обекти, да ползвате обектно-ориентирано моделиране и да изграждате йерархии от класове. Ще се изучават основните принципи на ООП като абстракция (интерфейси, абстрактни класове), енкапсулация, наследяване и полиморфизъм. Ще навлезем накратко в най-често използваните шаблони за дизайн (design patterns). Ще обърнем внимание на компонетно тестване (писане на unit тестове) и концепцията за Test Driven Development (TDD), употребата на reflection.