EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Course SL275

Reference course outline

5 days

Prerequisites

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

Be competent in creating programs in any programming language or have completed the SL-110-SE6: Fundamentals of the Java Programming Language course.

Create and edit text files using a text editor

Skills Gained

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

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

Execute a Java technology application from the command line

Use Java technology data types and expressions

Use Java technology flow control constructs

Use arrays and other data collections

Implement error-handling techniques using exception handling

Create an event-driven graphical user interface (GUI) using Swing components: panels, buttons, labels, text fields, and text areas

Implement input/output (I/O) functionality to read from and write to data and text files and understand advanced I/O streams

Create a simple Transmission Control Protocol/Internet Protocol (TCP/IP) networked client that communicates with a server through sockets

Create multithreaded programs

:: Course SL275 ::

Module 1 - Getting Started

Examine Java technology

Analyze a simple Java technology application

Execute a Java technology application

Module 2 - Object-Oriented Programming

Define modeling concepts: abstraction, encapsulation, and packages

Discuss Java technology application code reuse

Define class, member, attribute, method, constructor, and package

Use the access modifiers private and public as appropriate for the guidelines of encapsulation

Invoke a method on a particular object

Use the Java technology API online documentation

Module 3 - Identifiers, Keywords, and Types

Use comments in a source program

Distinguish between valid and invalid identifiers

Recognize Java technology keywords

List the eight primitive types

Define literal values for numeric and textual types

Define the terms primitive variable and reference variable

Declare variables of class type

Construct an object using new

Describe default initialization

Describe the significance of a reference variable

State the consequence of assigning variables of class type

Module 4 - Expressions and Flow Control

Distinguish between instance and local variables

Describe how to initialize instance variables

Recognize, describe, and use Java software operators

Distinguish between legal and illegal assignments of primitive types

Identify boolean expressions and their requirements in control constructs

Recognize assignment compatibility and required casts in fundamental types

Use if, switch, for, while, and do constructions and the labeled forms of break and continue as flow control structures in a program

:: Course SL275 ::

Module 5 - Arrays

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

Explain why elements of an array are initialized

Explain how to initialize the elements of an array

Determine the number of elements in an array

Create a multidimensional array

Write code to copy array values from one array to another

Module 6 - Class Design

Define inheritance, polymorphism, overloading, overriding, and virtual method invocation

Use the access modifiers protected and the default (package-friendly)

Describe the concepts of constructor and method overloading

Describe the complete object construction and initialization operation

Module 7 - Advanced Class Features

Create static variables, methods, and initializers

Create final classes, methods, and variables

Create and use enumerated types

Use the static import statement

Create abstract classes and methods

Create and use an interface

Module 8 - Exceptions and Assertions

Define exceptions

Use try, catch, and finally statements

Describe exception categories

Identify common exceptions

Develop programs to handle your own exceptions

Use assertions

Distinguish appropriate and inappropriate uses of assertions

Enable assertions at runtime

:: Course SL275 ::

Module 9 - Collections and Generics Framework

Describe the general purpose implementations of the core interfaces in the Collections framework

Examine the Map interface

Examine the legacy collection classes

Create natural and custom ordering by implementing the Comparable and Comparator interfaces

Use generic collections

Use type parameters in generic classes

Refactor existing non-generic code

Write a program to iterate over a collection

Examine the enhanced for loop

Module 10 - I/O Fundamentals

Write a program that uses command-line arguments and system properties

Examine the Properties class

Construct node and processing streams, and use them appropriately

Serialize and deserialize objects

Distinguish readers and writers from streams, and select appropriately between them

Module 11 - Console I/ O and File I/O

Read data from the console

Write data to the console

Describe files and file I/O

Module 12 - Building Java GUIs Using the Swing API

Describe the JFC Swing technology

Define Swing

Identify the Swing packages

Describe the GUI building blocks: containers, components, and layout managers

Examine top-level, general-purpose, and special-purpose properties of container

Examine components

Examine layout managers

Describe the Swing single-threaded model

Build a GUI using Swing components

:: Course SL275 ::

Module 13 - Handling GUI-Generated Events

Define events and event handling

Examine the Java SE event model

Describe GUI behavior

Determine the user action that originated an event

Develop event listeners

Describe concurrency in Swing-based GUIs and describe the features of the SwingWorker class

Module 14 - GUI-Based Applications

Describe how to construct a menu bar, menu, and menu items in a Java GUI

Understand how to change the color and font of a component

Module 15 - Threads

Define a thread

Create separate threads in a Java technology program, 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 the difficulties that might arise when multiple threads share data

Use wait and notify to communicate between threads

Use synchronized to protect data from corruption

Module 16 - Networking

Develop code to set up the network connection

Understand TCP/IP

Use ServerSocket and Socket classes to implement TCP/IP clients and servers

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