First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

JAV 101 - Java Programming

Duration: 5 Days

Intended Audience

This course is aimed at anyone needing to learn Java who already has some basic programming experience. A knowledge of object oriented programming is not assumed, and as object oriented programming concepts and practice are fully covered on this course it is also a good course for anyone wishing to get started with object oriented programming.

Synopsis

This is a first level comprehensive introduction to Java Programming. The course concentrates on the fundamental aspect of object oriented programming in Java programming and the core Java API packages. It covers Java platforms up to version 7.

Java multi-threading and basic Java GUI programming using ths Swing classes is also covered. The course uses the Eclipse IDE, but can be taught using the NetBeans IDE if required.

Course Outline

  • Java Overview
    • The Java Eclipse Development Environment
    • The Java Runtime Environment
    • Compiling and Executing Java Programs
    • The structure of Java Programs
    • Introduction to Java Security
    • Packages
  • The Java Language
    • Variables
    • Data Types
    • Declaring Variables
    • Primitive Variables
    • Reference Variables
    • Declaring, Initializing and Releasing Reference Variables
    • Arithmetic and Comparison Operators
    • Shortcut Operators
    • Short-Circuit Operators
    • Converting Data Types
  • Code Blocks
    • Statements and Semi-Colons
    • if ... else
    • switch case
    • while ... and do ... while loops
    • for ... loops
    • break and continue statements
    • Comments
    • Strings
  • Objects and Classes
    • Objects
    • Encapsulation
    • Classes
    • Class Member Data
    • Defining and Using Constructors
    • Static Initializers
    • Garbage Collection
    • Object Lifecycle
  • Inheritance
    • Classes and Inheritance
    • Methods in the Sub Class
    • Polymorphism
    • Converting Reference Types
    • Wrapper Classes
  • Abstract Classes and Interfaces
    • Abstraction and Abstract classes
    • Abstract Class References
    • Abstract Methods
    • Interfaces - defining and implementing
    • Defining and Implementing an Interface
  • Collections
    • The java.util Package
    • Lists
    • Maps
    • Generics
    • The Enhanced for Loop
    • Variable Method Arguments
    • Auto Boxing
  • Exceptions
    • Syntax, Runtime and Logical Errors
    • Exception Objects
    • Exception Handling
    • User-Defined Exception Classes
  • Events
    • The Java Event Model
    • Types of Event
    • Event Examples
  • Creating GUIs with Swing
    • Swing Packages Overview
    • Swing Containers
    • Swing Components
    • Swing Layouts
  • Files and Network Input/Output
    • Byte Oriented Input and Output Streams
    • Character Oriented Streams
    • Standard I/O Streams
    • Examples Using I/O Streams
    • The File Class
    • Java and URLs
    • Java TCP/IP socket programming
  • Specialised Classes
    • The StringBuffer and StringBuilder classes
    • Enumerations
    • Static Imports
    • The Java Beans Component Model
    • Component Properties
    • Designing a JavaBean Class
  • Threads
    • What are Threads?
    • Creating Threads
    • Implementing the Runnable Interface
    • Synchronizing Access to Resources
    • Inter Thread Communication
  • Database Connection with JDBC
    • Adding JDBC Libraries
    • Registering the JDBC Driver
    • Connecting to the Database
    • Creating and Executing Statements
    • Thread communication and synchronisation
  • Jar Files
    • Creating JAR files
    • Managing JAR files
    • The Jar Manifest