Postgraduate Diploma in Java (SE) Programming

Enrolment date: 1 December 2017

Benefiting from over 30 years’ experience, Fitzwilliam Institute’s Online Postgraduate Diploma in Java Programming (SE) course features:

  • Comprehensive modules covering all aspects of Java Programming (Standard Edition): Creating Java Applications, Using Classes and Objects, Control Statements, Methods, Arrays, Inheritance, Polymorphism, Exception Handling, Database and JDBC, Applets, Multimedia, CSS, Servlets, Java Server Pages, Java Server Faces, AJAX Enabled Java Server Faces, XML and RSS, Java RSS Utilities, and many more.
  • Interactive course expert support, advice and guidance from leading industry professionals. Always ready to help or answer any questions you might have throughout the course, all of Fitzwilliam Institute’s course experts are top industry professionals with many years of successful experience. Our Postgraduate Diploma in Java Programming (SE) contains the core and vital industry key skillset and, on completion, all of our students are industry-ready.
  • Real life Java Programming Standard Edition briefs. Fitzwilliam Institute’s Diploma in Java Programming (SE) offers practical and specific skills that can be applied in real world situations. You will gain exposure to invaluable toolkits and resources and prepare real life Java Programming Standard Edition  project briefs, which will enable you to improve your work portfolio. This course will help novices become literate in Java programming and help experienced programmers become skilled Java SE developers.
  • Flexible online learning. Fitzwilliam Institute’s Postgraduate Diploma in Java Programming (SE) course can be completed in your own time, from the comfort of your own home, to suit your lifestyle. You will have full access to online resources and subject expert support for two calendar years. However, you can complete the course in as little as 1 year, by dedicating 6-8 hours of study per week.
  • Java Programming SE Jobs, Networking and Volunteer Opportunities. Benefiting from over 30 years of industry experience, we are extremely well placed within the industry. Employers are always looking for Fitzwilliam Institute’s students and alumni. Fitzwilliam Institute’s website features a comprehensive jobs and volunteer opportunities section.

Overview of Java and Programming Technologies

Basic computer hardware and software concepts; Basic object technology concepts, such as classes, objects, attributes, behaviors, encapsulation, inheritance and polymorphism; The different types of programming languages; A typical Java development environment; Java's role in developing distributed client/server applications for the Internet and the web; The history of the UM - the industry standard object-oriented design language; The history of the Internet and the World Wide Web; Test-driving Java applications;

Java Application Programming

Introduction to Java Applications; Using the javac command to compile Java applications; Using the java command to run Java applications; Displaying Text with printf; Variables and Introducing Arithmetic Operators; Equality and Relational Operators;

Using Classes and Objects

Classes; Objects; Methods and Instance Variables; Declaring Class and Methods; Instantiating an Object of a Class; Declaring a Method with a Parameter; Instance Variables; set Methods and get Methods; Primitive Types vs; Reference Types; Initializing Objects with Constructors; Floating-Point Numbers and Type double;

Control Statements

"if" Single-Selection Statement; "if" … else Double-Selection Statement; while Repetition Statement; Counter-Controlled Repetition; Sentinel-Controlled Repetition; Nested Control Statements; Compound Assignment Operators; Increment and Decrement Operators; Primitive Types; Essentials of Counter-Controlled Repetition; for Repetition Statement; do… while Repetition Statement; switch Multiple-Selection Statement; break and continue Statements; Logical Operators;


Static Methods; static Fields and Class Math; Declaring Methods with Multiple Parameters; Notes on Declaring and Using Methods; Method-Call Stack and Activation Records; Argument Promotion and Casting; Java API Packages; Generalized Scaling and Shifting of Random Numbers; Scope of Declarations; Method Overloading;


Declaring and Creating Arrays; Examples Using Arrays; Enhanced for Statement; Passing Arrays to Methods; Multidimensional Arrays;

Classes and Objects

Class Case Study; Controlling Access to Members; Referring to the Current Object's Members with the this Reference; Overloaded Constructors; Default and No-Argument Constructors; Composition; Enumerations; Garbage Collection and Method finalize; static Class Members; static Import; final Instance Variables; Creating Packages;


Superclasses and Subclasses; protected Members; Relationship between Superclasses and Subclasses; Creating an Inheritance Hierarchy; Using protected Instance Variables; Using private Instance Variables; Constructors in Subclasses; Software Engineering with Inheritance;


Polymorphism Examples; Demonstrating Polymorphic Behavior; Abstract Classes and Methods; Polymorphic Processing; Operator instanceof and Downcasting; Allowed Assignments between Superclass and Subclass Variables; final Methods and Classes; Creating and Using Interfaces; Declaring Constants with Interfaces; Common Interfaces of the Java API;

Building Graphical User Interfaces

Understand the design principles of graphical user interfaces (GUIs); Build GUIs and handle events generated by user interactions with GUIs; Understand the packages containing GUI components, event-handling classes and interfaces; Create and manipulate buttons, labels, lists, text fields and panels; Handle mouse events and keyboard events; Use layout managers to arrange GUI components;

Graphics and Java 2D

Graphics and Java 2D; Module Applications; Solutions to Programming Exercises;

Exception Handling

Exception-Handling Overview; Handling ArithmeticExceptions and InputMismatchExceptions; When to Use Exception Handling; Java Exception Hierarchy; finally Block; Stack Unwinding; printStackTrace; getStackTrace and getMessage; Chained Exceptions; Declaring New Exception Types; Assertions;

Files, Streams and Serialization

Create, read, write and update files; Use class File to retrieve information about files and directories; Understand the Java input/output stream class hierarchy; Understand the differences between text files and binary files; Implement sequential-access and random-access file processing; Use classes Scanner and Formatter to process text files; Use the FileInputStream and FileOutputStream classes; Use a JFileChooser dialog; Use the ObjectInputStream and ObjectOutputStream class;


The concept of recursion; How to write and use recursive methods; How to determine the base case and recursion step in a recursive algorithm; How recursive method calls are handled by the system; The differences between recursion and iteration, and when it is appropriate to use each; What geometric shapes called fractals are and how to draw them using recursion; What recursive backtracking is and why it is an effective problem-solving technique;

Searching and Sorting

Search for a given value in an array using linear search and binary search; Sort arrays using the iterative selection and insertion sort algorithms; Sort arrays using the recursive merge sort algorithm; Determine the efficiency of searching and sorting algorithms; Use loop invariants to help ensure the correctness of your programs;

Data Structures

Linked data structures using references, self-referential classes and recursion; The type-wrapper classes that enable programs to process primitive data values as objects; The use of auto boxing to convert a primitive value to an object of the corresponding type-wrapper class; The use of auto-unboxing to convert an object of a type-wrapper class to a primitive value; Creating and manipulating dynamic data structures, such as linked lists, queues, stacks and binary trees; Various important applications of linked data structures; How to create reusable data structures with classes, inheritance and composition;


Creating generic methods that perform identical tasks on arguments of different types; Creating a generic Stack class that can be used to store objects of any class or interface type; How to overload generic methods with non-generic methods or with other generic methods; Raw types and how they help achieve backwards compatibility; Using wildcards when precise type information about a parameter is not required in the method body; The relationship between generics and inheritance;


Collections; Using class Arrays for array manipulations; Using the collections framework (prepackaged data structure) implementations; Using collections framework algorithms to manipulate (such as search, sort and fill) collections; Using the collections framework interfaces to program with collections polymorphically; Using iterators to “walk through” a collection; Using persistent hash tables manipulated with objects of class Properties; Using synchronization and modifiability wrappers;


Executing an Applet in the appletviewer; Executing an Applet in a Web Browser; Applet Life-Cycle Methods; Initializing an Instance Variable with Method init; Sandbox Security Model;


Loading; Displaying and Scaling Images; Animating Images; Image Maps; Loading and Playing Audio Clips; Playing Video and Other Media with Java Media Framework;

Advanced Graphical User Interface

Creating and manipulating sliders, menus, pop-up menus and windows; Changing the look-and-feel of a GUI, using Swing's pluggable look-and-feel; Creating a multiple-document interface with JDesktop Pane and JInternal Frame; Using additional layout managers;


Java Thread Model ; Creating and Running Threads ; Manipulating Thread State ; Thread Synchronization; Volatile Fields vs; Synchronized Methods ; wait and notify ; join and sleep ; The Concurrency API ; Atomic Operations;


The OSI Reference Model ; Network Protocols ; The Socket Class ; The Server Socket Class ; Connecting Through URL Objects ; HTTP and Other TCP Servers ; Datagram Clients and Servers ; Non-Blocking Sockets;

Databases and JDBC

Relational database concepts; Using Structured Query Language (SQL) to retrieve data from and manipulate data in a database; Using the JDBC™ API of package java.sql to access databases; Using the RowSet interface from package javax.sql to manipulate databases; Using JDBC 4.0’s automatic JDBC driver discovery; Using Prepared Statements to create precompiled SQL statements with parameters; How transaction processing makes database applications more robust;

Java SE8

Lambda expressions; Extension Methods; Annotations on Java Types; Generalization of Target-Type Inference; Access to Parameter Names at Runtime; Changes to Core Libraries; Changes to Internationalization Support; Changes to Java Security and its Platform;

DB SQL Scripts

Introduction to DB SQL Scrips;

On successful completion of this course you will receive a Postgraduate level qualification that is certified and awarded by the ICM (Institute of Commercial Management).

The Institute of Commercial Management was founded in 1979 and is one of the leading Professional Examination and Certification Bodies in the world today. Fitzwilliam Institute have developed and provided practical skills training courses in liaison with the Institute of Commercial Management qualifications and certifications framework for over 25 years. The Institute of Commercial Management certifications and continual professional development training awards are recognised by leading industries, bodies and professions.

next start date: 1st December 2017

Duration: You will have full access to online resources and subject expert support for two calendar years. However, you can complete the course in as little as 1 year, by dedicating 6-8 hours of study per week.

Course Fees: 1995.00 EUR

To secure your place on the course the full fee is required. All fees must be paid in full before the course begins. Please note, the full course fees are inclusive of all course materials and certification costs.

Enrolment intake is strictly limited on this course. Early application is advised. Places are allocated on a first come first served basis.

Fitzwilliam Institute closes on Bank Holidays and for a number of days at Christmas and New Year. Fitzwilliam Institute reserves the right to postpone, cancel or alter courses without notice or to change any of the details in this brochure. Fees are not refundable unless the course is cancelled by Fitzwilliam Institute. Distance Learning courses are provided by Fitzwilliam Institute BGLS Ltd.

Year on year, we have the pleasure of training students from top Ireland and international companies. See where our most recent students come from and find out what they have to say.