Topic-Level Outline
Days: 5
Prerequisites: Basic knowledge of personal computers
Unit 1: Getting started with Java
Topic A:0 Introduction to programming
Topic B:0 Introduction to Java
Topic C:0 Using data
C-1: Using variables and constants
C-2: Declaring and displaying values in a program
C-3: Adding arithmetic statements
C-4: Adding boolean variables
C-5: Adding floating-point variables
C-6: Discussing type conversion
C-7: Using escape sequences
Unit 2: Introducing methods, classes, and objects
Topic A:0 Programming using methods
A-1: Creating a method with no arguments
A-2: Calling a method from another class
A-3: Creating a method with a single argument
A-4: Creating a method with multiple arguments
A-5: Creating a method that returns values
Topic B:0 Introducing classes
B-1: Using classes
B-2: Creating a class
B-3: Adding an instance method to a class
B-4: Creating an object
B-5: Expanding a class to contain data fields and methods
B-6: Adding a constructor to a class
Unit 3: Discussing advanced object concepts
Topic A:0 Discussing class features
A-1: Demonstrating block scope
A-2: Overloading a method
A-3: Discussing ambiguity
A-4: Passing arguments to a constructor
A-5: Overloading a constructor
Topic B:0 Using methods
B-1: Using the this reference
B-2: Working with constants
B-3: Using Math class methods
B-4: Using the Date class
B-5: Using the getTime() method
Unit 4: Using input, selection, and repetition techniques in programming
Topic A:0 Introducing input and decision making
A-1: Writing a program to accept input
A-2: Discussing Flowcharts
A-3: Using the if structure
A-4: Using the if…else structure
A-5: Using compound statements
A-6: Using the nested if…else structure
Topic B:0 Introducing Special operators, the switch statement, and Precedence of operators
B-1: Using the improved OR logic
B-2: Using the switch statement
B-3: Discussing the conditional operator and the NOT operator
B-4: Discussing operator precedence
Topic C:0 Using loops and shortcut arithmetic operators
C-1: Discussing the while loop
C-2: Using the while loop
C-3: Using shortcut arithmetic operators
C-4: Using the for loop
C-5: Discussing the do…while loop
Topic D:0 Working with nested loops
D-1: Writing a program to print even divisors for every number upto 100
D-2: Using nested loops
D-3: Pausing a running program
Unit 5: Discussing arrays and Strings
Topic A:0 Introducing arrays
A-1: Declaring an array
A-2: Initializing an array
A-3: Using subscripts with an array
A-4: Declaring an array of objects
A-5: Searching an array for an exact match
A-6: Validating data in an array
A-7: Passing an array to a method
A-8: Using array length
Topic B:0 Introducing Strings
B-1: Declaring a String
B-2: Comparing Strings
B-3: Using other String methods
B-4: Converting Strings to numbers
Topic C:0 Using advanced array techniques
C-1: Sorting a character array
C-2: Sorting multiple array elements by using bubble sort
C-3: Sorting Strings
C-4: Using a two-dimensional array
C-5: Using the StringBuffer class
Unit 6: Introducing applets
Topic A:0 Discussing HTML and applet basics
A-1: Writing an HTML document to host an applet
A-2: Writing a simple applet by using a Label
A-3: Running an applet by using the Web browser
A-4: Running an applet by using the appletviewer command
A-5: Changing a Label’s font
A-6: Adding TextFields and Button Components to an applet
Topic B:0 Introduction to event-driven programming
B-1: Adding functionality to an applet
B-2: Adding output to an applet
Topic C:0 The applet life cycle and advanced features of applets
C-1: Demonstrating the applet life cycle
C-2: Testing the applet life cycle
C-3: Creating an interactive applet
C-4: Creating the actionPerformed method of an interactive applet
C-5: Using the setLocation() Method
C-6: Using the setEnabled() Method
Unit 7: Introducing Graphics
Topic A:0 Introduction to graphics
A-1: Using the paint() and repaint() methods
A-2: Using the drawString() method
A-3: Using the setFont() and setColor() graphics objects methods
A-4: Creating a Graphics object
A-5: Drawing lines and rectangles
A-6: Drawing ovals
Topic B:0 Advanced Graphics methods
B-1: Discussing arcs
B-2: Discussing three-dimensional rectangles and polygons
B-3: Copying an area
B-4: Using Font methods
B-5: Demonstrating FontMetrics methods
B-6: Using simple animation
Unit 8: Introducing inheritance
Topic A:0 Using inheritance
A-1: Discussing inheritance
A-2: Demonstrating inheritance by creating a simple class
A-3: Creating a class that extends from another class
A-4: Modifying the inherited class
A-5: Overriding superclass methods
Topic B:0 Using superclasses and subclasses
B-1: Working with superclasses that have constructors
B-2: Adding a superclass constructor
B-3: Using superclass constructors that require arguments
B-4: Accessing superclass methods from a subclass
B-5: Creating a superclass with a protected field
B-6: Using methods that cannot be overridden
Unit 9: Advanced inheritance concepts
Topic A:0 Discussing abstract classes and dynamic method binding
A-1: Creating an abstract class
A-2: Extending an abstract class
A-3: Writing a program that instantiates objects of child classes
A-4: Creating an array of subclass objects
Topic B:0 Discussing software design, interfaces, and packages
B-1: Discussing the Object class and its methods
B-2: Adding an equals() method to a class
B-3: Discussing interfaces
B-4: Creating and using a package
Unit 10: Understanding the Abstract Windows Toolkit (AWT)
Topic A:0 Applying inheritance to the Frame class
A-1: Creating a Frame object
A-2: Testing the Frame object
A-3: Creating a Frame that closes
A-4: Using an Adapter
A-5: Creating a frame that can be resized
A-6: Using container methods
Topic B:0 Using Components
B-1: Using component methods
B-2: Using the CheckBox class
B-3: Using the CheckBoxGroup class
B-4: Using the Choice class
B-5: Creating a list
B-6: Creating a list that accepts multiple selections
B-7: Using Swing components
Unit 11: Using layout managers and the event model
Topic A:0 Using layout managers
A-1: Using BorderLayout
A-2: Using FlowLayout
A-3: Demonstrating a right FlowLayout
A-4: Using GridLayout
A-5: Using Panels
A-6: Discussing advanced layout managers
Topic B:0 Using events
B-1: Understanding events
B-2: Implementing event handlers
B-3: Using AWTEvent class methods
B-4: Using event methods from higher in the inheritance hierarchy
B-5: Using mouse events
Unit 12: Exception handling
Topic A:0 Introduction to exceptions
A-1: Raising exceptions
A-2: Catching an ArithmeticException
A-3: Using the exception getMessage() method
A-4: Throwing and catching multiple exceptions
A-5: Using the finally block
Topic B:0 Advanced exception concepts
B-1: Specifying the exceptions a method can throw
B-2: Creating classes that throw exceptions but can’t catch them
B-3: Creating a class that catches exceptions thrown by another class
B-4: Handling exceptions uniquely with each catch
B-5: Using the printStackTrace() method
B-6: Creating an exception
Unit 13: File input and output
Topic A:0 Introduction to the File class
A-1: Using the File class
A-2: Comparing two files
A-3: Discussing data file organization and streams
A-4: Using streams
A-5: Writing to a file
A-6: Reading from a file
Topic B:0 Advanced file techniques
B-1: Writing formatted file data
B-2: Reading formatted file data
B-3: Creating a random access file
Unit 14: Multithreading and animation
Topic A:0 Introducing multithreading
A-1: Discussing multithreading
A-2: Using the Thread class
A-3: Understanding a Thread’s life cycle
A-4: Using the sleep() method
A-5: Demonstrating Thread priority
A-6: Using the Runnable interface
Topic B:0 Introducing animation
B-1: Creating an animated figure
B-2: Animating text
B-3: Reducing flickering in animation
B-4: Using images
B-5: Viewing animation in a Web browser
B-6: Creating an HTML document to view multiple applets