The document outlines the course units for an Advanced Java Programming course. Unit 1 covers classes, interfaces, inheritance and encapsulation. Unit 2 discusses methods, method overloading, overriding and recursion. Unit 3 focuses on exceptions, threads and immutability. Unit 4 covers dynamic language support and APIs. Unit 5 is about Java annotation processors and agents.