Java[tm] Programming Language

 

 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).

This course includes:

-The Sun[tm] ONE Starter Kit, which is a CD-ROM package containing the Java development and runtime environments for the J2SE[tm] and J2EE[tm] platforms, as well as the associated APIs and documentation. It also contains reference books, sample code, and technical articles.

   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