Oracle OCP Certification aligned to Oracle Exam 1Z0-804


You should already be at the Beginner Java level before attempting this Java Programming Course.

Intended Audience

This course is intended for people who has completed our Beginner Java course or is at the same level. The Advanced Java training course is meant to apply everything you have learned in the Beginner Java course, learning new things and making use of more practical features of Java like IO, networking, data structures and more. After completing this course and the one before, you would have covered most of the topics required to prepare for the international exam, OCA and OCP as well as build small SE applications. To get intensive job-graded preparation assistance, have a look at our Java Bootcamp.

After this course you should be able to

Course Material

Course Material Provided

Course Contents

Day 1:

Static Classes

  • Static Methods,
  • Static Variables
  • Math Class
  • Math Methods
  • Static Imports

Wrapper classes

  • Autoboxing
  • Number formatting

Date / Time API

    • Moving backward and forward in time
    • Getting an object that extends Calendar
    • Working with Calendar objects

Day 2

  • Exception Handling
    • What if you need to call risky code?
    • Checked Exceptions
    • Flow control in try/catch blocks
    • Exceptions are polymorphic
    • When you don’t want to handle an exception…
    • Ducking (by declaring) only delays the inevitable

    Nested Classes

    • Getting GUI: A Very Graphic Story
    • Getting a user event
    • Listeners, Sources, and Events
    • An inner class instance must be tied to an outer class instance
    • How to make an instance of an inner class

    Highlights of the Calendar API


Day 3:

I/O Fundamentals

  • Saving Object state
  • Implement Serializable
  • Transient variables

File I/O (NIO.2)

  • Java I/O Streams
  • Path Interface
  • File Class
  • Stream API (NIO2)

Day 4:


  • Connecting, Sending, and Receiving
  • Network Sockets
  • Writing a simple server
  • Writing a Chat Client

 Threads & Concurrency

  • Thread class
  • Runnable interface
  • The Thread Scheduler
  • Putting a thread to sleep
  • Atomic methods
  • Using an object’s lock
  • Synchronization


Day 5:

Collections and Generics

  • Collections
  • Sorting an ArrayList with Collections.sort()
  • Generics and type-safety
  • Comparable interface
  • A Custom Comparator
  • Collection API : lists, sets, maps
  • HashSet
  • HashMap
  • Polymorphism wildcards

Lambda Built-in Functional Interfaces

  • Listing the built-in interfaces included in java.util.function
  • Core interfaces – Predicate, Consumer, Function, Supplier
  • Using primitive versions of base interfaces
  • Using binary versions of base interfaces


Duration and pricing

  • Full-time over 5 days (R9995)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R11995)
  • Part-time over 8 Saturdays, 3 hour sessions (R11995)
  • Please note : For part-time courses we do not have a fixed schedule and you will be placed on a waiting list until we get a group of 4+ together. Please book with no dates on the bookings form. This will automatically put you on the waiting list. We will confirm with you as soon as we have a part-time group together.
  • Distance-learning over up to 3 months (R9995)
  • International exams are not included in the course price.
  • Prices exclude Vat for Vat-registered companies


  1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
  2. You may sit for our competency assessment test and on passing you will obtain our competency certificate.
  3. Our competency assessment can be booked and taken by someone who has not attended the course at a cost of R950.


You can download the course registration form on our home page or by clicking here


You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.


Please email us


On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.