At a glance
Getting started with Java
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.
- A background in programming (not necessarily object-oriented).
- Some understanding of files and relational databases
At the end of this three-day programme participants will be able to:
- Write basic Java applications
- Understand the basics of good object oriented design
- Understand Java's implementation of basic object oriented concepts
- Unit test Java code
- Connect Java programs to relational databases
Module 1: A Brief Introduction to Java
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.
Module 2: Data Types, Arrays and Strings
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.
Module 3: Classes and Objects
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
Module 4: Object Orientation in Java
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.
Module 5: Exception Handling
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.
Module 6: Unit-Testing & JUnit
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.
Module 7: Classes in the Java libraries
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
Module 8: Streams and IO
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.
Module 9: Collections
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
Module 10: Database Access with JDBC
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.
Module 11: Implementing Object Models
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
- Java Development Kit (JDK) (from ), including Javadoc documentation (separate download)
- Eclipse IDE (from )
- JUnit test framework (from )
- MySQL database (from ) and JDBC connector (separate download)
However other tools may be used instead if requested.