Java for Associates

This course provides an introduction to object-oriented development in Java, and aims to paint the big picture of how Java is used in contemporary system designs.

The goal throughout the course is to focus on principles, concepts, and capabilities. We cover syntax and details where necessary, but we concentrate always on the 'why' not the 'how'.

The course provides an introduction to object oriented concepts such as classes, objects, inheritance, polymorphism, object associations, and so on. We use UML to help us model these concepts, and we use Java to help us realise these concepts.

The course also describes Java technologies in three core respects: client systems (including mobile), server systems, and integration technologies. We analyse the tools and APIs in current use, describe how they fit together, and discuss best practice and patterns.

This course is aimed at managers of Java software teams, and also developers who are embarking on a Java career. This course will help you prepare for the Oracle Certified Associate, Java SE (1Z0-850) certification examination.


3 days



  • Basic knowledge of software development
  • Some programming experience would be an advantage

What you'll learn

  • Understanding fundamental Object-Oriented concepts
  • Implementing Object-Oriented concepts in Java
  • Algorithm design and implementation
  • Understanding Java development processes and tools
  • Understanding Java platforms and integration technologies
  • Understanding Java client technologies
  • Understanding Java server technologies

Course details

Introduction to the Java Platform

  • Java goals and principles
  • Overview of Java Standard Edition, Java Enterprise Edition, and Java Micro Edition
  • Understanding the role of the Java Virtual Machine
  • Overview of common Java development environments and build tools

Java Language Fundamentals

  • How to write, compile, and run Java
  • Core syntax rules
  • Using variables
  • Decisions and loops
  • Algorithm design

Structuring Java Data and Algorithms

  • Defining and calling functions
  • Using arrays
  • Using collections
  • Understanding generics

Getting Started with Object Orientation in Java

  • Overview of OO principles
  • Using UML as a modelling notation
  • Designing and implementing simple classes
  • Defining class state and behaviour
  • Creating objects
  • Initialization
  • Understanding packages

Object Orientation in Larger Systems

  • Identifying which classes are required
  • Responsibility-driven design
  • Implementing associations and composition in Java

Designing Hierarchies

  • Overview of inheritance
  • Modelling type hierarchies
  • Implementing inheritance in Java
  • Polymorphism
  • Abstract classes and interfaces

Java Persistence

  • Overview of APIs available
  • Using the File I/O API
  • Using the JDBC database API
  • Using the JAXP XML API

Rich Client Applications

  • Overview of APIs available
  • Using AWT and Swing
  • Applets

Mobile applications

  • Overview of APIs available
  • Understanding Java Micro Edition
  • Introduction to Android

Overview of Enterprise Applications

  • Overview of Java EE
  • Understanding web components
  • Understanding JNDI and EJBs
  • Understanding entity beans
  • Understanding messaging

Enterprise Applications in Action

  • Servlets, JSPs, and JSF
  • Session beans
  • Entity beans and the Java Persistence API

Integration Technologies

  • Web services using SOAP
  • Web services using REST
  • Messaging using the JMS API
  • Remote Method Invocation