This three day course is intended as a fast start introduction to the most important features of the Java language, libraries, tools and design concepts. It covers data types, control structures, I/O and other fundamentals, and how they are expressed in Java, before moving into more advanced areas such as inheritance, polymorphism, interfaces, exception handling, collections, unit testing, database access and business object modelling.
Software professionals who may have design and development skills in other areas but have little or no experience in programming with Java.
At the end of this three-day programme participants will be able to:
An introduction to the Java language and Java programming environment set up. This is followed with some simple "Hello World" type examples. By the end of this module participants will be able to configure and use a Java development environment. We also explore the role of Java packages and how to use them to organise namespaces.
Discussion on data types, arrays and Strings, followed by an examination of control structures for iteration and selection. By the end of this module participants will understand the core information representation mechanisms of Java and the correct syntax to represent them.
Contrasting primitive data types with the more complex reference types that are used to model objects in Java. Covers reference type comparison and garbage collection
Introduction to object orientation with applications in Java. This module covers the core issues in object orientation such as inheritance, polymorphism and interfaces, and addresses best practices. By the end of this module the participants will understand the basics of object orientation, how to use this to achieve good design, and how to represent this in Java.
Introduction to formal exception and error handling. At the end of this module the participants will know how to correctly propagate and handle exceptions in Java.
Unit testing is an integral part of all programmers' professional work. This brief module introduces the participants to unit testing in Java using the open-source JUnit framework.
One of the most important skills in Java programming is being able to reuse classes from class libraries. This section covers a range of classes from a number of library packages, and explores the use of Javadoc in understanding how to use third party code
An introduction to input/output and the stream based approach of the Java libraries. This module explains the overall approach of the stream libraries in Java, and explores practical examples of file handling, serialization and object streams.
Collections are an important aspect of managing one-to-many and many-to-many object relationships in Java. This module looks at some of the most fundamental collection interfaces and classes in the context of the Java 2 collections framework
This module covers connecting to a database and manipulating its data via SQL. Participants will learn about the Java Database Connectivity packages that Java provides to access external data-sources and will be able to use them to manipulate relational data.
This module involves building a simple domain object model that brings together the lessons of the earlier modules. A test first approach is used.
The focus is on practical exercises and projects. A combination of short and long exercises is used, culminating in a reasonably demanding test-first exercise using a business context object model. Every participant will have dedicated use of a workstation for the hands-on exercises.
Proposed Course Technology
For this course the current versions of the following software tools are recommended
However other tools may be used instead if requested.