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