Skip to main content





Advanced Python
Azure Fundametals
Introduction to Programming using Python
Laravel Bootcamp
Microsoft Azure Administrator
Python for Engineers and Scientists
Python Programming


Bernard Niewoud

Mark Badham


Java is a cross platform programming language widely used in the industry. Java has a massive collection of classes available. This makes it easy to implement almost any feature you would care to imagine. Java has has the advantage that all the development tools you need are available for free, including Eclipse a powerful easy to use integrated development environment(IDE).

The Java course is a 5-day bootcamp style course on the fundamentals of the Java programming language. The course is a good foundation for anyone wishing to program using Java, whether it be for desktop software (Java SE). Web application development(Java EE) or Android mobile application development.

Upon completion of the Java course, a delegate may choose to be assessed on the following SAQA Unit Standard

115378  Demonstrate an understanding of advanced object-oriented programming  Level 6  Credits 14


Delivery Methods

Leading Training is focusing on providing virtual training courses for the foreseeable future and will only consider in-person and classroom training on request, with a required minimum group size of six delegates. We remain committed to offering training that is fast, focused and effective.

Delivery Method Duration Price (excl. VAT)
Classroom 5 Days ZAR 13,750.00 Get a Quote
Live Virtual Training 5 Days ZAR 11,250.00 Get a Quote

Discounts Available

Save up to 10% by booking and paying 10 business days before the course.


Download Brochure

Information may change without notice.


Programmers and IT professionals


Some previous programming experience required

Course Outline / Curriculum

  • Overview of Java
    • History
    • Functionality
  • Java Platform
    • JRE and JDK
    • Installation
  • Compilation
    • Detailed Program Structure Overview
    • Packages, Subdirectories and Resources
    • Coding Conventions
    • Filename Cases
    • Variables
    • Grouping Declarations and Assignment Operations
  • Primitive Data Types
    • Numbers in Computer Science
    • Integers and Floating Point Data Types
    • Data Conversion
  • Program Control Flow Overview
    • Statement Blocks
    • Branching Statements
    • Iteration Statements
    • return Statement
    • throw Statement
  • Conditional Blocks
    • if, if/else
    • if/else if/else
    • Conditional Expressions
    • switch Statement
  • Loop Blocks
    • while Statement
    • do while Statement
    • for Statement
    • for-each Statement
    • continue and break Statements
    • Labels
    • try/catch Block
  • Boolean Expressions
    • Comparative Operators
    • Boolean Operators
  • Methods
    • Parameter Passing
    • Variable Argument List
    • return Parameter
    • static Methods
  • API/java.lang.String
    • Immutability
    • Concatenation
    • MixedMode Concatenation
    • Using StringBuilder/StringBuffer to Concatenate Strings
    • Comparing Strings
    • Splitting a String
    • Substrings
    • String cases
  • Mathematical Functions
    • Math Constants
    • Math.E
    • Math.P
    • Math Methods
    • Functions dealing with floating-point representation
    • Rounding Numbers
    • Large Numbers
  • Classes and Objects
    • Fundamentals
    • Object Life Cycle
    • Type
    • Autoboxing / Unboxing
    • Instantiation and Constructors
    • Scope
    • Initializers
    • Nested Classes
    • Anonymous Classes
  • Inheritance
    • Object Class
    • super Keyword
  • Overloading and Overriding
    • Method Overloading
    • Variable Argument
    • Constructor Overloading
    • Method Overriding
  • Interfaces
    • Fundamentals
    • Extending Interfaces
  • Aggregates
    • Collections and Maps
    • Choosing
  • Collection
    • Generics
    • Collection Classes
    • set
    • list
    • queue
    • UML Class Diagram
    • Synchronization
    • Custom Collections
  • Arrays
    • Fundamentals
    • Two-Dimensional Arrays
    • Application
  • Arraylist
    • Initializing
    • Methods
  • Map
    • Map Classes
    • Thread Safe Maps
  • Exceptions
    • Fundamentals
    • Flow of Program Execution
    • Exception Object
    • try/catch Statement
    • catch Blocks
    • finally Block
    • Keyword References
  • Basic I/O
    • Understanding Input and Output
    • Writing to the Screen
    • Input from the Keyboard
  • Streams
    • Input Streams
    • Output Streams
    • System.out and System.err
  • Annotations
    • Fundamentals
    • javadoc

Optional sections for advanced classes :

  • Threads and Runnables
    • Fundamentals
    • Manipulating Threads
    • Synchronization
    • Where Threads Are Used
  • Introduction to Swing
  • Introduction to EJB
    • Fundamentals
    • JSPs, HTML and Deployed Class


Schedule Dates and Booking

There are currently no scheduled dates.

Please note that this course needs a minimum of 6 delegates to schedule a course. You can choose to be added to the waiting list by clicking the button below, and we will contact you when we have enough delegates interested. Should we not get enough delegates, we will refund or credit your paid booking.

Add me to the waiting list

Should you need this course urgently, the following options are available:

  1. Pay for 6 delegates (whether you have them or not) and we will schedule the course as soon as possible.
  2. If you have fewer delegates and cannot pay for 6, we can negotiate a shortened course where some of the time will be spent in blended learning - watching videos and doing tutorials and exercises with some contact time with the trainer. We would want to discuss what your core needs are so that we cover those aspects. You need to have paid for 3 delegates at least.
Submit Enquiry