Java programming using Microsoft Visual J++ 6.0
Topic-level outline
Days: 5
Prerequisites: Basic knowledge of personal computers
Unit 1 : Programming, Java, and Microsoft Visual J++
Topic A: 0 Overview of programming and Java
A-1: Introducing programming elements
A-2: Understanding object-oriented programming
A-3: Understanding the Java programming language
A-4: Understanding Microsoft Visual J++
Topic B: 0 Microsoft Visual J++ development environment
B-1: Creating a new project in Visual J++
B-2: Working with window properties
B-3: Working with the Project Explorer window
B-4: Working with the Forms Designer window
B-5: Working with the Properties window
Topic C: 0 Visual J++ Help
C-1: Using the InfoViewer to locate and create a bookmark for a topic
Topic D: 0 Working with files, projects, and solutions
D-1: Adding a file to a project
D-2: Adding projects to a solution
D-3: Renaming a solution
D-4: Saving a solution and an individual file
D-5: Closing a solution and an individual file
D-6: Opening an existing solution and project
D-7: Creating a new file and then opening it
D-8: Exiting Visual J++
Unit 2 : First program using Java
Topic A: 0 Creating a program
A-1: Discussing Java structure
A-2: Discussing class-naming conventions
A-3: Discussing Java keywords
A-4: Writing a Java program
A-5: Adding comments to a program
A-6: Running a program using the JView
A-7: Modifying a program
Topic B: 0 Using data
B-1: Understanding variables and constants
B-2: Adding the int data type
B-3: Adding two more variables
B-4: Adding arithmetic operators
B-5: Adding boolean variables
B-6: Adding floating-point variables
B-7: Understanding numeric data conversion and the char data type
Unit 3 : Using methods, classes, and objects
Topic A: 0 Programming using methods
A-1: Creating a method with no argument
A-2: Calling a method from another class
A-3: Creating a method using a single argument
A-4: Creating a method using multiple arguments
A-5: Creating a method that returns a value
Topic B: 0 Using classes
B-1: Understanding classes
B-2: Working with the Class Outline window
B-3: Creating a class
B-4: Adding an instance method to a class
B-5: Passing an integer argument
B-6: Instantiating objects and adding the calls to the methods
B-7: Adding a constructor to a class
Unit 4 : Advanced object concepts
Topic A: 0 Advanced class features
A-1: Demonstrating block scope
A-2: Overloading a method
A-3: Discussing ambiguity
A-4: Passing an argument 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
B-6: Using the Object Browser
Unit 5 : Using input, selection, and repetition techniques in programming
Topic A: 0 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 Special operators, the switch statement, and the precedence of operators
B-1: Using improved OR logic
B-2: Using the switch statement
B-3: Using the conditional operator and the NOT operator
B-4: Discussing precedence of operators
Topic C: 0 Looping and shortcut arithmetic
C-1: Using the while loop
C-2: Introducing shortcut arithmetic operators
C-3: Discussing the for loop
C-4: Discussing the do…while loop
C-5: Using nested loops
C-6: Using nested loop to print even divisors
Unit 6 : 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: Creating 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 the array length field
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: Using a two-dimensional array
Unit 7 : Applets
Topic A: 0 Applet and HTML basics
A-1: Understanding applets and HTML
A-2: Using the HTML Editor
A-3: Writing a simple applet by using a Label
A-4: Running an applet by using the QuickView
A-5: Changing a Label’s font
A-6: Adding a TextField and a Button to an applet
Topic B: 0 Event-driven programming
B-1: Discussing event-driven programming
B-2: Adding functionality to an applet
B-3: Customizing the output of an applet
Topic C: 0 Advanced features of applets
C-1: Using the setLocation() method
C-2: Using the setEnabled() method
C-3: Creating an interactive applet
C-4: Creating the actionPerformed() method for an interactive applet
Unit 8 : 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() methods
A-4: Drawing a Graphics object
A-5: Working with lines and geometric shapes
Topic B: 0 Advanced Graphics methods
B-1: Discussing the drawArc() and drawRect() methods
B-2: Copying an area
B-3: Adding effects to an applet
Topic C: 0 Working with Font() methods
C-1: Using Font methods
C-2: Demonstrating FontMetrics methods
C-3: Adding a border to a string
Unit 9 : Introduction to 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 10 : 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 and interfaces
B-1: Discussing the Object class and its methods
B-2: Adding an equals() method to a class
B-3: Using inheritance to achieve good software design
B-4: Creating and using an interface
Unit 11 : 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 a CheckBox
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
Unit 12 : Using layout managers and the event model
Topic A: 0 Using layout managers
A-1: Using BorderLayout
A-2: Using FlowLayout
A-3: Using GridLayout
A-4: Using panels
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 13 : Exception handling
Topic A: 0 Introduction to exceptions
A-1: Demonstrating exception occurence
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
A-6: Discussing limitations of traditional error handling
Topic B: 0 Advanced exception handling
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: Creating an exception
Topic C: 0 Understanding debugging
C-1: Discussing debugging
C-2: Demonstrating the Step commands
C-3: Working with breakpoints
C-4: Discussing different debug windows
C-5: Using the printStackTrace() method
Unit 14 : File input and output
Topic A: 0 Introduction to the File class
A-1: Using the File class
A-2: Checking for a nonexistent file
A-3: Comparing two files
A-4: Discussing data file organization and streams
A-5: Using streams
A-6: Writing to a file
A-7: 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 15 : 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: Loading a predrawn image
B-5: Running an animation in a browser
Unit 16 : Windows applications and packaging
Topic A: 0 J/Direct and Windows Foundation Classes for Java
A-1: Understanding the Windows architecture and Win32 API
A-2: Creating a Java console to call J/Direct
A-3: Comparing native applications and architecturally neutral applications
A-4: Discussing WFC for Java
A-5: Creating a Windows project by using the Application Wizard
A-6: Using WFC forms
A-7: Using the Toolbox to add WFC controls
Topic B: 0 WFC events and packaging
B-1: Adding WFC events to an application
B-2: Discussing the usage of packages
B-3: Creating a project as a Windows EXE package