Java Programming Language, Java SE 6, (Self-Study Course)

 

Prerequisites

  • Understand object-oriented principles
  • Be competent in creating programs in any programming language
  • Create and edit text files using a text editor

Course Objectives

  • 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 multi-threaded programs
  • 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 data types and expressions
  • Use Java 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

Product Description

  • Getting Started
    • Examine Java technology
    • Analyze a simple Java technology application
    • Execute a Java technology application
  • 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
  • Identifiers, Keywords, and Types
    • Use comments in a source program
    • Distinguish between valid and invalid identifiers
    • Use 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 and describe default initialization
    • Describe the significance of a reference variable
  • 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
  • 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
  • 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
  • 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
  • Exceptions and Assertions
    • Define exceptions
    • Use try, catch, and finally statements
    • Describe exception categories
    • Develop programs to handle your own exceptions
    • Use assertions
    • Distinguish appropriate and inappropriate uses of assertions
    • Enable assertions at runtime
  • 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 and type parameters in generic classes
    • Refactor existing non-generic code
    • Write a program to iterate over a collection
    • Examine the enhanced for loop
  • 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
  • Console I/ O and File I/O
    • Read data from the console
    • Write data to the console
    • Describe files and file I/O
  • Building Java GUIs Using the Swing API
    • Describe the JFC Swing technology
    • 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
  • 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
  • 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
  • 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
  • Networking
    • Develop code to set up the network connection
    • Understand TCP/IP
    • Use ServerSocket and Socket classes to implement TCP/IP clients and servers

Price on request