EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

JAVA PROGRAMMING LANGUAGE

Reference course outline

SL-2755 days

DURATION

5 Days

Course Description

The Java[tm] Programming Language course teaches students the syntax of the Java programming language; object-oriented programming with the Java programming language; creating graphical user interfaces (GUI), exceptions, file input/output (I/O), threads and networking. Programmers familiar with object- oriented concepts can learn how to develop Java application. The course uses the Java 2 Software Development Kit (SDK).

Audience

Programmers who are interested in adding the Java programming language to their list of skill, students who are preparing for the Sun Microsystems Java Certification exam.

Prerequisites

To succeed fully in this course, students should be able to:

Understand object-oriented principles

Create or compile simple programs in a language, such as C or C++ or have completed the SL-110:

Java Programming for Non-Programmers course and have created and compiled simple Java programs

Create and edit text files using a text editor

Use basic UNIX® commands

Use a World Wide Web (WWW) browser, such as Netscape[tm] Navigator

Skills and Key Topics

Upon completion of this course, you should be able to:

Create sophisticated Java applications that leverage the object-oriented features of the Java language, such as inheritance and polymorphism

Use the File I/O class libraries to read and write to and from data and text files

Create and use the Java technology GUI components: panels, buttons, labels, text fields, and text areas

Create basic Java applets and launch them from a Web server

Create standalone Java applications, and use the Frame and Menu classes to add graphics to Java applications

Create multithreaded programs and use monitors and shared objects to communicate among other threads

Create a simple Transmission Control Protocol/Internet Protocol (TCP/IP) client that communicate through sockets

Module 1: Getting Started

List the key features of the Java programming language

Describe the Java virtual machine (JVM[tm])

Explain how garbage collection works

Describe how security features work

Write a simple Java application, compile and run it

Module 2: Object-Oriented Programming

Describe the terms class, object, attribute, method, and constructor

Write code to define a method

Access the member variables of an object using the dot notation

Write code to create and initialize an object

Use the this keyword to access the "current" object

Use private and public access modifiers

Write code to invoke a method on a particular object

Write class constructors and invoke particular constructors using new with arguments

Understand the use of the package and import statements for library access

Use the Java Application Programming Interface (API) online documentation

Module 3: Identifiers, Keywords, and Types

Use comments in a program

Distinguish between valid and invalid identifiers

Recognize the keywords in the Java programming language

List the eight primitive types

Define literal values for numeric and textual types

Describe the coding conventions for classes, interfaces, methods, variables, constants, and control structures

Create a class definition for a simple class containing primitive member variables

Declare variables of class type

Describe the significance of a reference variable and state the consequences of assignment between variables of class type

Module 4: Expressions and Flow Control

Distinguish between member and automatic variables

Describe the initialization of member variables

Recognize and correct a Possible reference before assignment compiler error

Recognize, describe, and use operators

Distinguish between legal and illegal assignments of primitive types

Recognize Boolean expressions and state the requirement for these in control constructs

Recognize assignment compatibility and required casts in fundamental types

Make appropriate use of if, switch, for, while, and do constructions and the labeled forms of break and continue

Module 5: Arrays

Declare and create arrays of primitive, class, or array types

Explain why and show how to initialize the elements of an array

Determine the number of elements in any array

Write code to copy arrays

Module 6: Class Design

Describe encapsulation, polymorphism, and inheritance

Use subclassing

Create and use heterogeneous collections

Create and use methods that accept generic argument types

Use access control levels

Invoke overloaded methods and constructors

Write overriding methods in a subclass and describe execution flow when executing an overridden method

Invoke overridden methods and describe how the method is chosen

Invoke overridden constructors

Control invocation of parent class constructors

Use wrapper classes

Module 7: Advanced Class Features

Declare and use static variables and methods

Declare and use final classes, methods, and variables

Use abstract methods and interfaces

Use inner classes

Module 8: Exceptions

Define exceptions

Describe the use of the keywords try, catch, and finally

Describe exception categories

Identify common exceptions

Write code to handle your own exceptions

Module 9: Text-Based Applications

Write code to access command-line arguments and system properties

Examine and manipulate files and directories

Read and write text to file streams

Describe the Collections API

Use iterators

Identify deprecated classes and describe how to handle them during migration to Java 2 SDK

Module 10: Building Java GUIs

Describe the Abstract Windowing Toolkit (AWT) package and its components

Explain containers, components and layout managers, and how they work together to build a GUI

Use the flow and border layout managers to achieve a desired dynamic layout

Use the frame and panel containers

Place panels inside other containers to build complex layouts

Module 11: GUI Event Handling

Write code to handle events that occur in a user interface

Create the appropriate interface and handler method for a variety of event types

Determine the user action that originated the event from the event object details

Determine how and when to use the appropriate adapter class to select a subset of event handlers for an event listener

Module 12: GUI-Based Applications

Identify the key AWT components and the event types that they produce

Control the colors and font used by an AWT component

Understand the purpose of the Swing GUI library

Module 13: Threads

Describe a thread

Create separate threads, controlling the code and data that are used by that thread

Control the execution of a thread and write platform-independent code with threads

Describe some of the difficulties that arise when multiple threads share data

Use the keyword synchronized to protect data from corruption

Use wait() and notify() to communicate between threads

Module 14: Advanced I/O Streams

Use the Streams version of the java.io package

Construct and use node streams

Distinguish Readers and Writers from Streams, and select appropriately between them

Construct and use processing streams

Understand how to create your own processing stream classes

Read, write, and update data in random access files

Use the Serialization interface to encode the state of an object to a stream and to implement object persistence

Module 15: Networking

Create a minimal TCP/IP client

This is a version-specific reference outline. Confirm the current syllabus and delivery arrangements with EIEIO.