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