Дисциплината се основава на познанията на студентите, получени по дисциплините: Програмиране и използване на компютри І и ІІ част, Синтез и анализ на алгоритми и Обектно ориентирано програмиране І част. На базата на основните понятия и принципи на обектно-ориентираното програмиране (ООП) студентите се запознават с основите на програмния език Java2 и получават практически навици по програмиране на този език.
Лекциите включват запознаване с основните различия между езиците С++ и Java2. Разглеждат се езиковите елементи, типовете данни и имплементационните различия по основни понятия като: класове, обекти, наследяване, полиморфизъм и др. След усвояване на особеностите в типовете данни, променливи, масиви, оператори за различните видове операции, оператори за управление на хода на програмата и др., се разглеждат структурата и принципите на дефиниране на класовете, включително спецификаторите за достъп. Отделя се внимание на такива понятия като: пакети, абстрактни класове, интерфейси и вътрешни класове, както и на принципите на тяхната реализация. По-нататък в курса се разглеждат такива важни елементи на езика като: изключенията, паралелните разклонения, входно-изходната система и контейнерите и итераторите. Обяснява се събитийният модел на Java и как той се използва при реализацията на аплетите. Лабораторните упражнения и курсовата работа имат за цел получаване на практически навици при програмиране на Java2.