Introduction to Java Programming
Duration 12 Weeks
Price £590

Introduction                                     
The course has been designed to teach delegates how to write Java applications and applets, focusing on program structure, language syntax and implementation details. By the end of the course, delegates will be able to build applications incorporating a graphical user interface, exception handling, input/output, threads, and networking.

Intended Audience and Prerequisites
The course is intended for people in the IT industry who would like to add Java application development to their list of skills. No prior knowledge of Java is assumed, but to succeed fully in the course, delegates should be able to create and compile simple programs in a language such as C, C++, VB, COBOL or JavaScript..

Getting Started
· Origins of the language and its key features
· Describing the Java Runtime Environment and the components of the Java 2 Standard Edition (J2SE)
· Comparing local and distributed Java applications and associated security features
· Writing, compiling and running a simple Java application
· Using documentation for the J2SE class libraries

Compiling and Running a Simple Program
· A Word About the Java Platform
· Setting Up Your Computer
· Writing a Program
· Compiling the Program
· Interpreting and Running the Program
· Common Compiler and Interpreter Problems
· Code Comments
· API Documentation
· More Information

Object-Oriented Programming
· Defining classes, objects, variables and methods
· Building an object and understanding object references and garbage collection
· Using constructor methods to initialise objects
· Using package and import statements to access the J2SE class libraries
· Applying access modifiers to object members

Keywords and primitive types
· Recognizing Java Keywords
· Listing the eight primitive types
· Understanding conversion and casting of primitive types
· Recognizing and using Java operators

Flow Control
· Iteration using for loops, while loops and do-while loops
· Building nested loops, and breaking out of a loop
· Using labels and the continue keyword
· Building alternative execution paths with a switch block

Arrays
· Declaring, creating and initialising arrays of primitive types
· Building arrays of objects
· Building multi dimensional arrays
· Passing arguments into the main method of a command line application
· Building an application that uses arrays, method calls and iterative loops

Building Applications
· Application Structure and Elements
· Fields and Methods
· Constructors
· To Summarize
· More Information


Building Applets
· Application to Applet
· Run the Applet
· Applet Structure and Elements
· Packages
· More Information

Building a User Interface
· Swing APIs
· Import Statements
· Class Declaration
· Global Variables
· Constructor
· Action Listening
· Event Handling
· Main Method
· Applets Revisited
· More Information

Threads
· Creating threads to enable concurrent execution of multiple tasks
· Declaring synchronized code to prevent simultaneous access to a method by more than one thread
· Moving threads between states using the wait and notify methods
· Using a shared object to communicate between threads

I/O Streams
· Interrogating the local file system
· Using Character Streams to read and write to a text file
· Understanding processing streams and linking them to sink streams
· Building byte streams to send and receive binary data
· Using object serialization to give persistence to objects

Networking
· Distinguishing between Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
· Translating between character streams and byte streams
· Building a Server application that listens on a specified port
· Building a Client application that establishes a connection with the Server and sends some text

Writing Servlets
· About the Example
· HTML Form
· Servlet Backend
· More Information

File Access and Permissions
· File Access by Applications
· Exception Handling
· File Access by Applets
· Granting Applets Permission
· Restricting Applications
· File Access by Servlets
· Appending
· More Information

Database Access and Permissions
· Database Setup
· Create Database Table
· Database Access by Applications
· Establishing a Database Connection
· Final and Private Variables
· Writing and Reading Data
· Database Access by Applets
· JDBC Driver
· JDBC-ODBC Bridge with ODBC Driver
· Database Access by Servlets
· More Information

Remote Method Invocation
· About the Example
· Program Behavior
· File Summary
· Compile the Example
· Start the RMI Registry
· Run the RemoteServer Server Object
· Run the RMIClient1 Program
· Run the RMIClient2 Program
· RemoteSend Class
· Send Interface
· RMIClient1 Class
· RMIClient2 Class