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