Java SE Programming Workshop

This three-day course covers all major aspects of Java programming (up to and including Java SE 8) using a choice of IDE (Integrated Development Environment).
It is designed for software developers and programmers who are already able to code simple Java applications, but who need to extend their knowledge with a greater understanding of the Java API.
The course is taught using a choice of IDEs (Integrated Development Environments). The skills needed to use this software are taught as part of the course. Development wuill be performed using Eclipse, IntelliJ, NetBeans, Websphere Studio Application Developer, Rational Application Developer, Jbuilder, the Java Development Kit (JDK) plus a text editor.

Practical sessions make up a large part of the course, allowing attendees to practice the skills taught. During these sessions each attendee will build a complete application, gaining in complexity throughout the course.
Practical examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and each attendee is encour aged to execute and 'experiment' with these under the instructor's guidance as they are introduced. These examples are available to take away, along with the attendee's own work.
The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished.

What you will learn

On successful completion of this course you will be able to:

  • describe the principles of writing Java programs
  • develop programmes using Collections, Generics, Threads, I/O and Networking
  • use the IDE of their choice
  • take advantage of and understand Interfaces
  • use the Collections Framework
  • know which type of collection to use for a specific purpos
  • sort Objects using Comparable and Comparator interfaces
  • create and handle Exceptions
  • code custom Exception classes
  • use the Java Input/Output classes
  • use Serialization to achieve persistence
  • understand multi-threading and synchronization and use the various techniques available to create separate threads
  • create socket based applications using the Networking classes.

Who Should Attend

Software developers and applications programmers who will be developing in Java.


An understanding of programming with Java or C++ is required. Students must be able to code simple Applications and Classes.


3 days

Fee (per attendee)

£1500 (ex VAT)

Course Code



Abstract Classes & Interfaces

Abstract Classes and Methods Interfaces An Example Without Using Interfaces; Same Example Using Casting; Defining an Interface; Implementing an Interface; Same Example Using Interfaces; Interfaces with Default Methods - Java 8; Functional Interfaces - Java 8.

Java Collections

Using Collection Classes - Lists; Iterator, Enumeration and For-Each; Using Collection Classes - Maps; Generics; Collection Interfaces and Implementations; Summary Of Collection Implementations (Classes); List Implementations; Map Implementations; SET IMPLEMENTATIONS; Queue and Deque; Stacks; Properties Preferences; Collection Utilities; Sets - Set Methods; Sort; SorteSet Methods: Lists - List Methods; ArrayList Methods; LinkedList Methods; Vector Methods; Maps - Map Methods; SortedMap Methods; Hashtable Methods; Streams - Java 8; Parallel Streams - Java 8; Map Enhancments - Java 8.

Sorting Objects

Sorting Objects; The Comparable Interface; Comparators; More Ways To Sort Objects.

Inner Classes, Anonymous Classes & Lambda Expressions

'Regular' Inner Classes; Referencing the Outer and Inner classes from within the Inner class; Example of 'Regular' Inner Class In Use; Method-Local Inner Classes; Anonymous Inner classes; Implementing Interfaces with Anonymous Inner Classes; Anonymous Inner Classes within Method calls; Lambda Expressions (Java 8); Sorting Using the Comparator Interface - pre Java 8; Sorting Using the Comparator Interface - Lamba; Using Method References - Java 8; Functional Interfaces - Java 8; Built-In Functional Interfaces:Functions, Predicates; Other Built-In Functional Interfaces.

Error Handling

Java Exceptions; Error and Exception Classes; Try / Catch Processing; The Finally Block; Java 7 Catch Blocks; Passing Exceptions Up the Stack - the Throws clause; The Throw Statement; User Defined Exceptions; Exceptions And Object Hierarchies.

Java I/O

Class; Input and Output Streams; Classes to Read / Write; NIO and Buffers; Reading from Files; close(); Reading from Files Using a Scanner; Reading from Files Using NIO; Writing to Files; Reading Data; Writing Data; Reading from System Input; Standard Output Stream - System.out; Serialization - Persistence of Objects.


Try-With-Resources; NIO2; Path; Files; FilesSystems and FileStore; File Change Notification.

Junit Introduction

Junit Example; Junit assert Methods; Testing for exceptions; Testing Collections.


What Does Javadoc Generate?; Javadoc Tags; Where Can Tags Be Used?.

Junit 4

Testing with Junit 4; Other Junit 4 Features.

© RSM Technology 2021