DURATION
5 days
( Introduction
This course is intended to build strong foundation for programmers to acquire Java programming skills required to build and deploy Java based Applications and Applets using J2SE 5.0. In this course the participant shall be introduced to fundamentals of Java programming, how object oriented concepts are implemented in Java, how to create functional graphical user interfaces (GUIs) using Swing, debugging and deploying Java application, creating multithreaded applications and simple networked applications as well as providing experience using various APIs available in J2SE 5.0 to implement desired functionality in their application.
( Who Can Benefit
Programmers who wish to attain basic and intermediate skills required to build and deploy Java Applications and candidates who are preparing for Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055) Exam.
( At Course Completion
Upon completion of this course, participants should be able to:
Understand the underlying principles on which Java works as a programming platform.
Install and setup the Java programming environment using J2SE 5.0 bundled with NetBeans 5.0.
Relate and use fundamental programming structures available in Java.
Relate and apply object oriented principles in design and implementation of Java applications.
Construct event based Graphical User Interface using Swing and implement event handling to process events.
Deploy simple Java applications and applets using available tools in J2SE 5.0.
Implement exception handling to overcome possible exceptions generated in applications.
Debug simple Java applications.
Explore available input output streams to read and write to external data source or storage.
To understand usage of generic programming constructs.
Create and control simple multithreaded application.
Explore available collection classes in Collection framework for possible usage in future projects.
Create and test a simple network based application.
( Prerequisites
Programmers with experience writing simple applications using C, C++ or Java with understanding of basic programming skills and object oriented concepts.
( Course Materials
The course uses the Java 2 Software Development Kit; Standard Edition (J2SE SDK) version 5.0 bundled with NetBeans 5.0.
( Course Outline
Module 1 – An Introduction to Java
Introducing Java as a Programming Platform.
Advantages of Using Java.
Java and the Internet.
A Short History of Java.
Common Misconceptions about Java.
Module 2 – The Java Programming Environment
Installing the Java Development Kit.
Choosing a Development Environment.
Using the Command-Line Tools.
Using an Integrated Development Environment.
Introducing Netbeans 5.0.
Compiling and Running Programs from a Text Editor.
Running a Graphical Application.
Building and Running Applets.
Module 3 – Fundamental Programming Structures in Java
Writing a Simple Java Program.
Writing Comments in Java Source Code.
Using Primitive Data Types.
Declaring and Using Variables.
Understanding Usage of Operators.
Using and Manipulating Strings.
Simple Input and Output Operation.
Defining and Using Control Flow.
Dealing with Big Numbers.
Declaring and Using Arrays.
Module 4 – Object and Classes
Introduction to Object-Oriented Programming.
Using Predefined Classes.
Defining Your Own Classes.
Static Fields and Methods.
Method Parameters.
Object Construction.
Using Packages.
Writing Documentation Comments.
Class Design Hints.
Module 5 – Inheritance
Concept of Classes, Superclasses, and Subclasses.
Object: The Cosmic Superclass.
Using Generic Array Lists.
Using Object Wrappers and Autoboxing.
Using Reflection.
Using Enumeration Classes.
Design Hints for Inheritance.
Module 6 – Interfaces and Inner Classes
Declaring and Using Interfaces.
Object Cloning.
Dealing with Interfaces and Callbacks.
Declaring and Using Inner Classes.
Using Proxies.
Module 7 – Graphics Programming
Introducing Swing.
Creating a Frame.
Positioning a Frame.
Displaying Information in a Panel.
Working with 2D Shapes.
Using Color.
Using Special Fonts for Text.
Doing More with Images.
Module 8 – Event Handling
Basics of Event Handling.
The AWT Event Hierarchy.
Semantic and Low-Level Events in the AWT.
Low-Level Event Types.
Using Action Interface.
Performing Multicasting.
Implementing Event Sources.
Module 9 – User Interface Components with Swing
The Model-View-Controller Design Pattern.
Introduction to Layout Management.
Dealing with Text Input.
Dealing with Choice Components.
Constructing Menus.
Using Sophisticated Layout Management.
Constructing Dialog Boxes.
Module 10 – Deploying Applets and Applications
Applet Basics.
The Applet HTML Tags and Attributes.
Including Multimedia Contents.
The Applet Context.
Preparing JAR Files.
Application Packaging.
Deploying using Java Web Start.
Storage of Application Preferences.
Module 11 – Exceptions and Debugging
Dealing with Errors.
Catching Exceptions.
Tips for Using Exceptions.
Performing Logging.
Using Assertions.
Debugging Techniques.
Using a Debugger.
Module 12 – Streams and Files
Introduction to Streams.
Available Input nd Output Streams.
ZIP File Streams.
Use of Streams.
Use of Object Streams.
File Management.
New Input Output Processing Features.
Regular Expressions Processing.
Module 13 – Generic Programming
Why Generic Programming?
Definition of a Simple Generic Class.
Generic Methods.
Bounds for Type Variables.
Generic Code and the Virtual Machine.
Restrictions and Limitations.
Inheritance Rules for Generic Types.
Wildcard Types.
Reflection and Generics.
Module 14 - Multithreading
What Are Threads?
Interrupting Threads.
Thread States.
Thread Properties.
Synchronization.
Blocking Queues.
Thread-Safe Collections.
Callables and Futures.
Executors.
Synchronizers.
Threads and Swing.
Module 15 – Collections
Collection Interfaces.
Concrete Collections.
The Collections Framework.
Algorithms.
Legacy Collections.
Module 16 – Networking
Connecting to a Server.
Implementing Servers.
Sending E-Mail.
Making URL Connections.
Advanced Socket Programming.
This is a version-specific reference outline. Confirm the current syllabus and delivery arrangements with EIEIO.