|
Who Can
Benefit
|
|
|
|
|
Programmers who are interested in adding the Java
programming language to their list of skill and students who are preparing
for the Sun Certified Programmer for Java 2 Platform 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
Gained
|
|
|
|
|
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 standalone Java applications, and use
the Frame and Menu classes to add graphics to Java applications
- Create multithreaded programs
- Create a simple Transmission Control
Protocol/Internet Protocol (TCP/IP) client that communicate through
sockets
|
|
|
|
Related
Courses
|
|
|
|
- After: OO-226: Object-oriented Application Analysis and Design for
Java Technology
- After: SL-285: Java Programming Language Workshop
|
|
|
|
Course
Content
|
|
|
|
|
|
|
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
|