Java Programming, Second Edition (Updated)

Java Programming,
Second Edition (Updated)

Topic-Level Outline

             Days:           5

Prerequisites:           None

             Unit 1 :           Getting started

           Topic A: 0   Programming basics

           A-1:           Discussing programming basics

           A-2:           Discussing object-oriented programming

           Topic B: 0   The Java platform

           B-1:           Discussing the Java platform

           Topic C: 0   Installing Java

           C-1:           Installing the Java 2 Platform Standard Edition

           C-2:           Setting the PATH variable on Windows 2000

           Topic D: 0   Language syntax and conventions

             D-1:             Writing a Java program

             D-2:             Adding comments to a program

             D-3:             Compiling and interpreting a program

             D-4:             Modifying and rerunning a program

             Unit 2 :           Using data in a program

           Topic A: 0   Constants and variables

           A-1:           Discussing constants and variables

           A-2:           Declaring variables

           A-3:           Discussing variable declarations

           Topic B: 0   Data types and character sets

             B-1:             Using int data type

             B-2:             Using arithmetic operators

             B-3:             Discussing arithmetic operators

             B-4:             Adding boolean variables

             B-5:             Using floating-point data types

             B-6:             Discussing floating-point data types

             B-7:             Discussing numeric type conversion

             B-8:             Using escape sequences

             B-9:             Discussing ASCII and Unicode

             Unit 3 :           Methods, classes, and objects

           Topic A: 0   Methods

           A-1:           Using methods

           A-2:           Discussing methods with a single argument

           A-3:           Discussing methods with multiple arguments

           A-4:           Creating methods that return values

           Topic B: 0   Classes

             B-1:             Creating a class

             B-2:             Using instance methods

             B-3:             Declaring objects

             B-4:             Adding data fields and methods

             B-5:             Using constructors

             Unit 4 :           Advanced object concepts

           Topic A: 0   Blocks and scope

           A-1:           Discussing blocks and scope

           A-2:           Using blocks scope

           Topic B: 0   Method overloading

           B-1:           Overloading a method

           B-2:           Sending arguments to a constructor

           B-3:           Overloading a constructor

           Topic C: 0   Constants

           C-1:           Using constants

           C-2:           Using prewritten constants and methods

           Topic D: 0   Prewritten imported methods

             D-1:             Using prewritten imported methods

             D-2:             Using the GregorianCalendar class

             Unit 5 :           Input and selection

           Topic A: 0   Keyboard input

           A-1:           Accepting and echoing user input

           A-2:           Using the JOptionPane class

           Topic B: 0   Control flow statements

           B-1:           Discussing flowcharts

           B-2:           Using if and if...else structures

           B-3:           Using compound statements

           B-4:           Using the switch structure

           Topic C: 0   Operators

             C-1:             Discussing AND and OR operators

             C-2:             Discussing conditional and NOT operators

             C-3:             Discussing operator precedence

             Unit 6 :           Loops

           Topic A: 0   Loop structures

           A-1:           Using a while loop

           A-2:           Discussing while loops

           A-3:           Discussing do...while loops

           A-4:           Using shortcut arithmetic operators

           Topic B: 0   For and nested loops

             B-1:             Discussing for loops

             B-2:             Using nested loops

             Unit 7 :           Characters and strings

           Topic A: 0   Strings

           A-1:           Manipulating characters

           A-2:           Declaring and comparing String objects

           A-3:           Using other String methods

           A-4:           Converting strings to numbers

           Topic B: 0   The StringBuffer class

             B-1:             Discussing the StringBuffer class

             B-2:             Using the StringBuffer methods

             Unit 8 :           Arrays

           Topic A: 0   Introduction to arrays

           A-1:           Declaring and initializing an array

           A-2:           Discussing arrays

           A-3:           Using subscripts with an array

           Topic B: 0   Arrays of objects

           B-1:           Declaring an array of objects

           B-2:           Creating an array of objects

           Topic C: 0   Searching an array

             C-1:             Searching an array for an exact match

             Unit 9 :           Array manipulations

                                             Topic A: 0   Manipulating an array

                                             A-1:                                             Passing an array to a method

                                             A-2:                                             Using the length field

                                             A-3:                                             Creating an array of Strings

                                             Topic B: 0   Sorting arrays

           B-1:           Sorting characters

           B-2:           Sorting String array elements

           Topic C: 0   Two-dimensional arrays

           C-1:           Using two-dimensional arrays

           Unit 10 :           Applets

           Topic A: 0   Applets and HTML documents

           A-1:           Creating an HTML document to run an applet

           A-2:           Using labels in AWT applets

           Topic B: 0   Applets with Swing components

           B-1:           Using labels in a Swing applet

           B-2:           Changing the JLabel font

           B-3:           Discussing JTextField and JButton

           B-4:           Adding multiple components to JApplet

           Unit 11 :           Event-driven programming

           Topic A: 0   Event-driven programming in applets

           A-1:           Discussing event-driven programming

           A-2:           Handling event-driven programming

           A-3:           Adding output to a Swing applet

           Topic B: 0   Life cycle of a Swing applet

           B-1:           Understanding the Swing applet life cycle

           B-2:           Demonstrating the Swing applet life cycle

           Topic C: 0   Enhancing a Swing applet

           C-1:           Creating an interactive Swing applet

           C-2:           Using the setLocation() and setEnabled() methods

           Unit 12 :           Graphics

           Topic A: 0   Basic graphic methods

           A-1:           Using the paint() and repaint() methods

           A-2:           Using the drawString() method

           A-3:           Using the setFont() and setColor() methods

           Topic B: 0   More about graphics

           B-1:           Creating graphics and 2D graphic objects

           B-2:           Drawing lines and ovals

           B-3:           Copying an area

           B-4:           Using fonts and their methods

           Topic C: 0   Drawing objects

           C-1:           Discussing specifying rendering attributes

           C-2:           Creating objects to draw

           Topic D: 0   Adding sound, images, and animations

           D-1:           Adding sound

           D-2:           Adding images and animations

           Unit 13 :           Introduction to inheritance

           Topic A: 0   Inheritance

           A-1:           Implementing inheritance

           A-2:           Extending a class

           Topic B: 0   Superclasses

           B-1:           Overriding superclass methods

           B-2:           Calling a superclass constructor

           B-3:           Using a superclass constructor with arguments

           B-4:           Accessing superclass methods

           Topic C: 0   Information hiding and protection

           C-1:           Examining information hiding

           C-2:           Discussing methods that cannot be overridden

           Unit 14 :           Advanced inheritance concepts

           Topic A: 0   Abstract classes

           A-1:           Creating and using an abstract class

           A-2:           Discussing dynamic method binding

           Topic B: 0   Array of objects and comparing objects

           B-1:           Creating an array of object references

           B-2:           Using the Object class and its methods          

           Topic C: 0   Interfaces and packages

           C-1:           Discussing interfaces

           C-2:           Creating and using packages

           Unit 15 :           Swing components

           Topic A: 0   Frames

           A-1:           Using the JFrame class

           A-2:           Using JFrame class methods

           A-3:           Discussing JFrame class methods

           A-4:           Using the JPanel class methods

           Topic B: 0   Swing event listeners

           B-1:           Implementing Swing event listeners

           B-2:           Using the JCheckBox class

           B-3:           Using the ButtonGroup class

           B-4:           Using a Swing components

           B-5:           Discussing JScrollPanes

           Unit 16 :           Layout managers and events

           Topic A: 0   Layout managers and JPanel

           A-1:           Using BorderLayout and FlowLayout

           A-2:           Using GridLayout and CardLayout

           A-3:           Using JPanels

           A-4:           Discussing GridBagLayout and BoxLayout

           Topic B: 0   Events and event handling

           B-1:           Implements the KeyListener event

           B-2:           Discussing the AWTEvent class

           B-3:           Using inheritance hierarchy in event handling

           B-4:           Handling mouse events

           Unit 17 :           Exception handling

           Topic A: 0   Exceptions

           A-1:           Creating an exception

           A-2:           Handling exceptions

           A-3:           Using the Exception class getMessage() method

           A-4:           Discussing multiple exceptions

           A-5:           Discussing the finally block

           Topic B: 0   Error handling methods

           B-1:           Discussing limitations of traditional error handling

           B-2:           Using the throws keyword

           B-3:           Inheriting exceptions

           Topic C: 0   Call stack and user-defined exceptions

           C-1:           Tracing exceptions through the call stack

           C-2:           Creating user-defined exceptions

           Unit 18 :           File input and output

           Topic A: 0   Files and streams

           A-1:           Using the File class

           A-2:           Discussing file organization

           A-3:           Using streams

           Topic B: 0   Input and output

           B-1:           Writing to and reading from a file

           B-2:           Writing formatted file data

           B-3:           Reading formatted file data

           B-4:           Opening a user specified file

           B-5:           Creating a random access file

           Unit 19 :           Multithreading and animations

           Topic A: 0   Multithreading

           A-1:           Discussing multithreading

           A-2:           Discussing a thread’s life cycle

           A-3:           Using the Thread class

           A-4:           Using the sleep() method

           A-5:           Setting thread priority

           Topic B: 0   Animations

                        B-1:                        Using the Runnable interface

                        B-2:                        Creating an animated figure

                        B-3:                        Reducing flickering

                        B-4:                        Using pre-drawn animated image objects

                        B-5:                        Using animation in an applet