Java Training Course (up to 5 days, from basic to advanced) 


Note: this outline is our proposal, but the training can be tailored to your specific requirements upon prior request ahead of the proposed course date.

Why Learn Java?

This course is intended for developers who are familiar with any other procedural or structural language (such as C, Pascal, C + +, Delphi). During the training participants will learn how to write basic programs In Java, test it, use standard libraries and create multi-threaded applications.

In extended version (5 days) participatns will also learn how to create console and GUI applications, communicate with database and by TCP/IP.

Course details

This outline below covers both fundamental and advanced topics.

The final training outline will be designed depending on your particular requirements.

The practical exercises constitute a big part of the course time, besides demonstrations and theoretical presentations. Discussions and questions can be asked throughout the course.


  • Software Developers

  • Architects

  • Deployment engineers

Course Outline

Introduction to Java

  • Versions of Java

  • Platform

  • Tools

  • Using the documentation


The syntax of the language

  • Declarations and Data Types

  • Simple types

  • Reference types

  • Flow Control Instructions


Object-Oriented Programming

  • Modeling

  • Objects: Properties and Methods

  • Creating Objects

  • Objects and references

  • Classes

  • Interfaces

  • Packages

  • Inheritance

  • Abstract Classes

  • Polymorphism


Collections API

  • Collections basics and generics 

  • Set, Map, List, Queue, Deque

  • Class Collections

  • Introduction to collections from java.util.concurrent


Error handling exceptions

  • The try ... catch

  • Create your own exception types



  • Streams and Filters

  • File Handling

  • Object Serialization

  • NIO.2 basics 


Other Java features

  • Enumeration details, adnotations, static block

  • JUnit basics - testing

  • Inner classes, anonymous classes

  • Lambda expressions and Optional class (Java 8)

  • Introdution to modules (Java 9)


Multi-threaded Programming

  • Multi-threaded Applications

  • The life cycle of thread

  • Synchronization


Communication and integration (EXTENDED VERSION - 5 days)

  • Creating console application and GUI

  • JDBC - database communication

  • Creating TCP/IP client and server