Java Programming: A Comprehensive Hands-On Introduction


This course provides complete coverage of the Java programming language giving you the strong language foundation required for any Java-based development environment. Whether targeting a client-based, server-side, or Android environment, this course provides you with everything you need to quickly ramp up and become an effective Java programmer.

This is a Java course for everyone. Whether you are a complete beginner (a liberal arts major, an accountant, doctor, lawyer) or an engineer with some programming experience but looking to learn Java - this course is right for you. The course is accessible because it assumes absolutely no programming knowledge, and quickly builds up using first principles alone. Even so, this is a serious Java programming class - the gradient is quite steep, and you will go from absolute beginner to an early intermediate level.

Who Should Attend

  • Individuals / students who want to learn the Java programming language
  • This course is essential for you if your company has deployed or is about to deploy a Java-based application
  • IT Professionals looking to expand and upgrade their skill with the latest technology
  • Professionals looking to save time by learning from experts.


  • No prior programming experience needed:)
  • Have a computer preferably a laptop with any operating system: Windows, Mac OS X, or Linux
  • The class will make use of Java and an IDE - never fear, We will explain all downloading, and installing processes step by step to walk you through the process of setting this up in-class


  • Programming Basics: What programming is, and a carefully thought-through tour of the basics of any programming. Installing and setting up an IDE and writing your first program
  • The Object-Oriented Paradigm: Classes, Objects, Interfaces, Inheritance; how an OO mindset differs from a functional or imperative programming mindset; the mechanics of OO - access modifiers, dynamic dispatch, abstract base classes v interfaces. The underlying principles of OO: encapsulation, abstraction, polymorphism
  • Reflection, Annotations: The how, what and why - also the good and bad
  • Modern Java constructs: Interface default methods; properties and bindings too. Also detailed coverage of Futures and Callables, as well as of Lambda functions, aggregation operators. JavaFX as contrasted with Swing.
  • Packages and Jars: The plumbing is important to understand too.
  • Language Features: Serialisation; why the Cloneable interface sucks; exception handling; the immutability of Strings; the Object base class; primitive and object reference types; pass-by-value and pass-by-object-reference.
  • Swing: Framework basics; JFrames, JPanels and JComponents; Menus and menu handling; Trees and their nuances; File choosers, buttons, browser controls. A very brief introduction to JavaFX.

Course Schedules


No Reviews yet