Core Java training from fundamentals to Java EE

Our core java courses take students from the basic syntax of the Java language to Java Persistence API (JPA) and Enterprise Java Beans (EJB) with our  Java Enterprise Edition (Java EE) training.  Our Java intermediate course teaches students the principles of object-orientated programming covering the advanced oop features of Java. We offer training internationally and in South Africa.

Our Java training objectives are based on the Oracle Java Certification exams and prepare students for the Oracle Java Certifications exams. From Java Standard Edition to Java Enterprise Edition; our course will ensure you master the content and pass your exam the first time.

Our courses are continually updated to reflect the latest enhancement to the Java platform including streams, lambdas, and more. All our instructors are certified and have years of in-field experience which they bring to the training, ensuring students learn more than just the course content but instead understand how to practically implement applications with Java.

Java Training

Java Fundamentals Training

Our Java fundamentals training course is aimed at those new to programming or with basic programming experience who wish to learn the principles of application design and object orientation using Java as the implementation language. This course uses the latest stable release of Java and is constantly updated to reflect the current syntax and best practices for java

Besides the basics of the Java language, this course will teach students the concepts of source code versus compiled code, debugging, the build process and packaging process and project organisation. It will empower students to leverage an IDE for increased productivity and how IDEs assist with best practices.

This Java fundamental course provides the knowledge required to attend the Java SE 11 Developer certification training course.

Want to know more about our Java training courses? Click here.

Java Fundamentals Course Outline

Course Introduction

  • Course Objectives
  • Course Overview
  • Using the Workbook
  • Suggested References

Getting Started with Java

  • Java History
  • Installing Java
  • A First Java Program
  • Compiling and Interpreting Applications
  • Java IDE Overview and Use

Datatypes and Variables

  • Primitive Datatypes
  • Declarations
  • Variable Names
  • Numeric Literals
  • Character Literals
  • String
  • String Literals
  • Arrays
  • Non-Primitive Datatypes
  • The Dot Operator

Operators and Expressions

  • Expressions
  • Assignment Operator
  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Increment and Decrement Operators
  • Operate-Assign Operators (+=, etc.)
  • The Conditional Operator
  • Operator Precedence
  • Implicit Type Conversions
  • The Cast Operator

Control Flow

  • Statements
  • Conditional (if) Statements
  • Adding an else if
  • Conditional (switch) Statements
  • while and do-while Loops
  • for Loops
  • A for Loop Diagram
  • Enhanced for Loop
  • The continue Statement
  • The break Statement


  • Methods
  • Calling Methods
  • Defining Methods
  • Method Parameters
  • Static Methods

Object-Oriented Programming

  • Introduction to Object-Oriented
  • Programming
  • Classes and Objects
  • Fields and Methods
  • Encapsulation
  • Access Control
  • Inheritance
  • Polymorphism

Objects and Classes

  • Defining a Class
  • Creating an Object
  • Instance Data and Class Data
  • Methods
  • Constructors
  • Access Modifiers
  • Encapsulation

Using Java Objects

  • Printing to the Console
  • printf Format Strings
  • StringBuilder and StringBuffer
  • Methods and Messages
  • toString
  • Parameter Passing
  • Comparing and Identifying Objects
  • Destroying Objects
  • The Primitive-Type Wrapper Classes
  • Enumerated Types

Inheritance in Java

  • Inheritance
  • Inheritance in Java
  • Casting
  • Method Overriding
  • Polymorphism
  • super
  • The Object Class

Advanced Inheritance and Generics

  • Abstract Classes
  • Interfaces
  • Using Interfaces
  • Collections
  • Generics
  • Comparable
  • Packages
  • The import Statement
  • Static Imports
  • CLASSPATH and Import
  • Defining Packages
  • Package Scope

Exception Handling

  • Exceptions Overview
  • Catching Exceptions
  • The finally Block
  • Exception Methods
  • Declaring Exceptions
  • Defining and Throwing Exceptions
  • Errors and RuntimeExceptions

Input/Output Streams

  • Overview of Streams
  • Bytes vs. Characters
  • Converting Byte Streams to Character
  • Streams
  • File Object
  • Binary Input and Output
  • PrintWriter Class
  • Reading and Writing Objects
  • Closing Streams

Core Collection Classes

  • The Collections Framework
  • The Set Interface
  • Set Implementation Classes
  • The List Interface
  • List Implementation Classes
  • The Queue Interface
  • Queue Implementation Classes
  • The Map Interface
  • Map Implementation Classes

Collection Sorting

  • Sorting with Comparable
  • Sorting with Comparator
  • Sorting Lists and Arrays
  • Collections Utility Methods

Java SE 11 Developer  Training 1Z0-819

Our Java SE 11 Developer certification training course covers the objectives of Oracles 1Z0-819 Java SE 11 Developer certification.

Since Java stewardship was moved to the Eclipse foundation the pace of innovation and change in the Java platform has accelerated with new versions of Java being released at a steady pace.

The Java SE11 Developer course is based on the latest long term release of Java SE and is designed to ensure certificate holders have a solid understanding of modern Java, its syntax, and constructs.

Want to know about our other Java courses? Follow this link.

Java SE 11 Developer Training Course Outline


Working with Java data types

  • Use primitives and wrapper classes, including, operators, parentheses, type promotion, and casting
  • Handle text using String and StringBuilder classes
  • Use local variable type inference, including as lambda parameters

Controlling Program Flow

  • Create and use loops, if/else, and switch statements

Java Object-Oriented Approach

  • Declare and instantiate Java objects including nested class objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
  • Define and use fields and methods, including instance, static and overloaded methods
  • Initialize objects and their members using instance and static initialiser statements and constructors
  • Understand variable scopes, apply encapsulation and make objects immutable
  • Create and use subclasses and superclasses, including abstract classes
  • Utilize polymorphism and casting to call methods, differentiate object type versus reference type
  • Create and use interfaces, identify functional interfaces, and utilize private, static, and default methods
  • Create and use enumerations

Exception Handling

  • Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements
  • Create and use custom exceptions

Working with Arrays and Collections

  • Use generics, including wildcards
  • Use a Java array and List, Set, Map and Deque collections, including convenience methods
  • Sort collections and arrays using Comparator and Comparable interfaces

Working with Streams and Lambda expressions

  • Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package
  • Use Java Streams to filter, transform and process data
  • Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams

Java Platform Module System

  • Deploy and execute modular applications, including automatic modules
  • Declare, use, and expose modules, including the use of services


  • Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API
  • Develop thread-safe code, using different locking mechanisms and java.util.concurrent API

Java I/O API

  • Read and write console and file data using I/O Streams
  • Implement serialization and deserialization techniques on Java objects
  • Handle file system objects using java.nio.file API

Secure Coding in Java SE Application

  • Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity
  • Secure resource access including filesystems, manage policies and execute privileged code

Database Applications with JDBC

  • Connect to and perform database SQL operations, process query results using JDBC API


  • Implement Localization using Locale, resource bundles, and Java APIs to parse and format messages, dates, and numbers


  • Create, apply, and process annotations​​​

Our Clients

Absa Bank Dimension Data Teraco Discovery Health South African Revenue Service First National Bank Allan Grey multichoice CSIR Standard Bank University of Johannesburg MTN Mr Price

Java EE 7 Application Developer 1Z0-900

The Java EE 7 Application developer training course prepares students to write the Oracle certification 1Z0-900. This course will teach attendees about the key Java EE API used to build web applications and middle-tier components for business-critical applications.

Students who attend this course should have attended the Java SE 11 Developer course or feel comfortable with that course's material. It is aimed at candidates who are already familiar with the basics of Java and wish to master the enterprise APIS available in Java EE.

Want to know about our other Java courses? Follow this link.

Java EE Application Developer Course Objectives

Understand Java EE Architecture

  • Describe Java EE 7 standards, containers, APIs, and services
  • Differentiate between application component functionalities as they apply to different tiers and containers, including Java EE Web Container, Business Logic implementation, and WebServices
  • Create, package and deploy Java EE applications
  • Demonstrate understanding of Enterprise JavaBeans and CDI beans, their lifecycle, and memory scopes
  • Demonstrate understanding of the relationship between bean components, annotations, injections, and JNDI

Manage Persistence using JPA Entities and BeanValidation

  • Create JPA Entity and Relationship Object-Relational Mappings (ORM)
  • Use Entity Manager to perform database operations, transactions, and locking with JPA entities
  • Handle entity data with conversions, validations, and key generation
  • Create and execute JPQL statements

Implement Business Logic by Using EJBs

  • Create session EJB components containing synchronous and asynchronous business methods, manage the life cycle container callbacks and use interceptors
  • Demonstrate understanding of how to control EJB transactions, distinguish Container Managed (CMT) and Bean Managed (BMT) transactions
  • Create EJB timers

Use Java Message Service API

  • Describe the Java Message Service (JMS) messaging models and implement Java SE and Java EE message producers and consumers, including Message-Driven beans
  • Use transactions with JMS API

Implement SOAP Services by Using JAX-WS and JAXB APIs

  • Create SOAP Web Services and Clients using JAX-WS API
  • Define Java to XML Schema mappings to marshall and unmarshall Java Objects by using JAXB API

Create Java Web Applications using Servlets

  • Create Java Servlets, describe how they are mapped to urls and use HTTP methods
  • Handle HTTP headers, parameters, cookies
  • Manage servlet life cycle with container callback methods and WebFilters​​​​

Contact Us

Please contact us for any queries via phone or our contact form. We will be happy to answer your questions.

3 Appian Place,373 Kent Ave
2194 South Africa
Tel: +2711-781 8014 (Johannesburg)
  +2721-020-0111 (Cape Town)

Contact Form


Contact Form