Java Programming Course

About this course

The Java Programming course will teach you the fundamentals of the Java language, so that you can write Java programs or maintain existing Java code. Java is one of the most popular programming languages in the world, and is used by thousands of companies. It is also the foundation for learning other Java technologies, like JSP, EJB, Web services, Spring and Android.

What others say

Why you want to attend

You should attend the Java Programming course if:

  • You are a programmer and you want to learn the Java language.
  • You need to support existing Java systems.
  • You need to understand Java so that you can learn other Java-based technologies.
  • You have already learnt some Java – perhaps on your own or at university – but struggle with some concepts or have gaps in your knowledge.

What you need to know first

Before you attend the Java Programming course:

  • You must already be a programmer and have experience in programming.
  • If you are a mainframe programmer, please consider first attending our Object-Oriented Analysis and Design Course. It will make your move to Java faster and easier.
  • You should know how to use the command line for simple instructions.

Price and duration

Price: R13,900.00 excluding VAT per delegate.

This price includes everything that you need:

  • All course material, provided in an electronic format.
  • An attendance certificate after the course, in PDF format.

Duration: 5 days.

The Java Programming course is presented virtually. Find out more about our virtual training and how it works.

Please check the course schedule for the next available date.

How to book

It’s so easy to book for the Java Programming course.

Just email us at You can send us a purchase order, or fill in our course enrolment form.

After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.

Detailed course contents


  • Java language history.
  • Java Standard Edition (JSE) vs Enterprise Edition (JEE)
  • Portability and the Java Virtual Machine.
  • The Java development environment and tools.

Java Applications

  • Console-based applications.
  • Graphical applications.
  • Applets vs applications.
  • Creating a simple “Hello world” application.

OO Concepts

  • Object-oriented vs procedural programming.
  • Classes, attributes, behaviours.
  • Data encapsulation.
  • Inheritance and code reuse.
  • Polymorphism.
  • Abstract classes and interfaces.
  • An introduction to UML.
  • UML class and package diagrams.

Language Fundamentals

  • Lexical structure.
  • Comments.
  • Keywords, identifiers and literals.
  • Naming conventions.
  • Data types – primitive vs object reference data types.
  • Variable declarations, initialization and scope.
  • Expressions, operators and operator precedence.
  • Selection and iteration statements.
  • Modifiers.
  • Exception handling.

Classes, Interfaces and Packages

  • Creating and using classes.
  • Encapsulation – fields and methods.
  • Constructors and initializers.
  • Polymorphism – overloading and overriding.
  • Inheritance – superclasses and subclasses.
  • Abstract classes and interfaces.
  • Canonical classes and JavaBeans.
  • Inner classes.
  • Packages.

Strings, Arrays and Collections

  • String methods and concatenation.
  • String, StringBuffer and StringBuilder classes.
  • Creating, initializing and using arrays.
  • Collections API overview.

Exception Handling

  • Errors vs exceptions.
  • Checked vs unchecked exceptions.
  • The try…catch statement.
  • Creating custom exceptions.
  • Try with resources (TWR).

Threads and Multitasking

  • Multitasking overview.
  • Using and creating threads.
  • The Runnable interface.
  • Thread lifecycle.
  • Thread synchronization.

File Input/Output

  • Standard System streams.
  • Files, Streams, Readers and Writers.
  • An introduction to serialization.

Advanced Language Features

  • Java 5 features – annotations, generics, enums, enhanced for loop, auto-boxing/unboxing, varargs, static imports.
  • Java 7 features – binary literals, try-with-resources, type inference, strings in switches.
  • Java 8 features – lambdas, functional interfaces, default and static methods in interfaces, method and constructor references.

Download the course outline

Download the Java Programming course outline in PDF format.

Java Programming Course

Incus Data Training for Programmers: Lewis Coosner (Director and Lecturer)

Code like a Java guru!

Get a tip from our Java guru every week.

By subscribing, you agree that we can send you these emails.
You can unsubscribe at any time.
We will never share your information without your consent.
Your details are protected by POPIA and GDPR.

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.

You're going to code like a guru!

Your Java tip is on its way - make sure you get it

Please make sure that is an approved sender, so that your Java tips don’t land up in the spam folder.

Your details are private

Our privacy policy means your data is safe. Incus Data does not sell or distribute email addresses. We will not give your personal information to anyone unless specifically authorised by you.

You can unsubscribe from these tips at any time.