|
|
| JAVA
PROGRAMMING LANGUAGE (SL - 275) |
| Instructor-Led
|
Length:5 Days |
Lecture:50% |
Lab:50% |
|
Supports
Sun Certification.
The
Java Programming Language course teaches
delegates the syntax of the Java programming
language; object-oriented programming with
the Java programming language; creating graphical
user interfaces (GUI), exception handling,
file input/output (I/O), threads and networking.
Programmers familiar with object-oriented
concepts can learn how to develop applications
and applets with the Java programming language. The
course uses the Java 2 Software Development
Kit (SDK).

4
|
Delegates with a programming
background who are interested in adding the
Java programming language to their list of
skills. |
| 4 |
Delegates who are preparing for the Java
Technology Sun Certified Programmer Certification
exam. |

| To
succeed fully in this course, delegates
should be able to: |
| 4 |
Understand object-oriented
principles. |
4
|
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. |
| 4 |
Create and edit text files using a text
editor. |
| 4 |
Use basic UNIX commands. |
| 4 |
Use a World Wide Web (WWW) browser, such
as Netscape Navigator. |

| Upon
completion of this course, delegates
should be able to: |
4
|
Create
sophisticated Java applications that
leverage the object-oriented features
of the Java language, such as inheritance
and polymorphism. |
| 4 |
Use
the file I/O class libraries to read
and write to and from data and text files. |
| 4 |
Create
and use Java GUI components: panels,
buttons, labels, text fields and text
areas etc. |
| 4 |
Create
standalone applications, and use the
Frame and Menu classes to add a GUI to
applications in the Java programming
language. |
| 4 |
Create
basic Java applets and launch them from
a Web Browser. |
| 4 |
Create
multithreaded programs and use monitors
and shared objects to communicate among
threads. |
| 4 |
Create
a simple Transmission Control Protocol/Internet
Protocol (TCP/IP) server and client that
communicate through sockets. |

| Before: |
| 4 |
Java
Programming Language for Non-Programmers
(SL-110) |
| 4 |
Migrating
to OO Programming with Java Technology
(SL-210). |
| After: |
| 4 |
Java
programming Language Workshop (SL-285). |
| 4 |
JavaBeans
Component Development (SL-291). |
| 4 |
Distributed
Programming with Java Technology (Sl-301). |
| 4 |
GUI
Construction with Java Foundation Classes
(SL-320). |
|

| Module 1: Getting Started |
| 4 |
List the key features of
the Java programming language |
| 4 |
Describe the Java virtual machine (JVM[tm]) |
| 4 |
Explain how garbage collection works |
| 4 |
Describe how security features work |
| 4 |
Write a simple Java application, compile
and run it |
| Module 2: Object-Oriented
Programming |
| 4 |
Describe the terms class,
object, attribute, method, and constructor |
| 4 |
Write code to define a method |
| 4 |
Access the member variables of an object
using the dot notation |
| 4 |
Write code to create and initialize
an object |
| 4 |
Use the this keyword to access the "current" object |
| 4 |
Use private and public access modifiers |
| 4 |
Write code to invoke a method on a particular
object |
| 4 |
Write class constructors and invoke
particular constructors using new with arguments |
| 4 |
Understand the use of the package and
import statements for library access |
| 4 |
Use the Java Application Programming
Interface (API) online documentation |
| Module 3: Identifiers,
Keywords, and Types |
| 4 |
Use comments in a program |
| 4 |
Distinguish between valid and invalid
identifiers |
| 4 |
Recognize the keywords in the Java programming
language |
| 4 |
List the eight primitive types |
| 4 |
Define literal values for numeric and
textual types |
| 4 |
Describe the coding conventions for
classes, interfaces, methods, variables, constants,
and control structures |
| 4 |
Create a class definition for a simple
class containing primitive member variables |
| 4 |
Declare variables of class type |
| 4 |
Describe the significance of a reference
variable and state the consequences of assignment between
variables of class type |
| Module 4: Expressions
and Flow Control |
| 4 |
Distinguish between member
and automatic variables |
| 4 |
Describe the initialization of member
variables |
| 4 |
Recognize the keywords in the Java programming
language |
| 4 |
Recognize and correct a Possible reference
before assignment compiler error |
| 4 |
Recognize, describe, and use operators |
| 4 |
Distinguish between legal and illegal
assignments of primitive types |
| 4 |
Recognize Boolean expressions and state
the requirement for these in control constructs |
| 4 |
Recognize assignment compatibility and
required casts in fundamental types |
| 4 |
Make appropriate use of if, switch,
for, while, and do constructions and the labeled forms
of break and continue |
| Module 5: Arrays |
| 4 |
Declare and create arrays
of primitive, class, or array types |
| 4 |
Explain why and show how to initialize
the elements of an array |
| 4 |
Determine the number of elements in
any array |
| 4 |
Write code to copy arrays |
| Module 6: Class Design |
| 4 |
Describe encapsulation,
polymorphism, and inheritance |
| 4 |
Use subclassing |
| 4 |
Create and use heterogeneous collections |
| 4 |
Create and use methods that accept generic
argument types |
| 4 |
Use access control levels |
| 4 |
Invoke overloaded methods and constructors |
| 4 |
Write overriding methods in a subclass
and describe execution flow when executing an overridden
method |
| 4 |
Invoke overridden methods and describe
how the method is chosen |
| 4 |
Invoke overridden constructors |
| 4 |
Control invocation of parent class constructors |
| 4 |
Use wrapper classes |
| Module 7: Advanced
Class Features |
| 4 |
Declare and use static variables
and methods |
| 4 |
Declare and use final classes, methods,
and variables |
| 4 |
Use abstract methods and interfaces |
| 4 |
Use inner classes |
| Module 8: Exceptions |
| 4 |
Define exceptions |
| 4 |
Describe the use of the keywords try,
catch, and finally |
| 4 |
Describe exception categories |
| 4 |
Identify common exceptions |
| 4 |
Write code to handle your own exceptions |
| Module 9: Text-Based
Applications |
| 4 |
Write code to access command-line
arguments and system properties |
| 4 |
Examine and manipulate files and directories |
| 4 |
Read and write text to file streams |
| 4 |
Describe the Collections API |
| 4 |
Use iterators |
| 4 |
Identify deprecated classes and describe
how to handle them during migration to Java 2 SDK |
| Module 10: Building
Java GUIs |
| 4 |
Describe the Abstract Windowing
Toolkit (AWT) package and its components |
| 4 |
Explain containers, components and layout
managers, and how they work together to build a GUI |
| 4 |
Use the flow and border layout managers
to achieve a desired dynamic layout |
| 4 |
Use the frame and panel containers |
| 4 |
Place panels inside other containers
to build complex layouts |
| Module 11: GUI Event
Handling |
| 4 |
Write code to handle events
that occur in a user interface |
| 4 |
Create the appropriate interface and
handler method for a variety of event types |
| 4 |
Determine the user action that originated
the event from the event object details |
| 4 |
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 |
| 4 |
Identify the key AWT components
and the event types that they produce |
| 4 |
Control the colors and font used by
an AWT component |
| 4 |
Understand the purpose of the Swing
GUI library |
| Module 13: Threads |
| 4 |
Describe a thread |
| 4 |
Create separate threads, controlling
the code and data that are used by that thread |
| 4 |
Control the execution of a thread and
write platform-independent code with threads |
| 4 |
Describe some of the difficulties that
arise when multiple threads share data |
| 4 |
Use the keyword synchronized to protect
data from corruption |
| 4 |
Use wait() and notify() to communicate
between threads |
| Module 14: Advanced
I/O Streams |
| 4 |
Use the Streams version
of the java.io package |
| 4 |
Construct and use node streams |
| 4 |
Distinguish Readers and Writers from
Streams, and select appropriately between them |
| 4 |
Construct and use processing streams |
| 4 |
Understand how to create your own processing
stream classes |
| 4 |
Read, write, and update data in random
access files |
| 4 |
Use the Serialization interface to encode
the state of an object to a stream and to implement
object persistence |
| Module 15: Networking |
| 4 |
Create a minimal TCP/IP
client |
|
|
|