Creative Intelligence @ Your Service
Site Map
+1 214 234 9283 | Send Email

Java Developer Training Sample Outline

Background

This course was developed from topics presented in the Sams Publishing book, "Teach Yourself Java 2 in 21 Days" by Laura Lemay and Rogers Cadenhead. We present a unique expression of ideas specifically selected for command line environments, user interfaces, and database development.

Candidate applications include those that provide a graphic or text (or both) interface, perform symbolic manipulation and processing, and update a relational database. Targets include command and control, configuration management, and transaction processing.

Duration

The course can be tailored to fit a compressed schedule of three days if the advanced topics are trimmed. Most students find four days provides enough time to fully participate in all lecture topics and complete the lab assignments.

An optional fifth day is set aside for a senior level lab demonstration project. Students will build a complete application from start to finish using the vast majority of lecture topics. In addition, students will be required to perform an object oriented analysis, design, and documention of the project.

Lab Exercises

In addition to the senior level project mentioned above, there are seventeen other lab exercises used to reinforce topics presented during the lecture. A subset of these exercises will be incorporated into the syllabus on a case by case basis depending on the class's level of expertise.

Topic 1: Java and Command Line Environments

  1. The Java Environment
    1. Why was Java Developed?
    2. The Java Virtual Machine
    3. Java Application Execution
    4. Java Compared With C++
    5. Java Compared With Other OO Languages

  2. Program Structure
    1. Defining a Root Class
    2. Declaring an Initialization Method
    3. Declaring Other Objects
    4. Incorporating API elements
    5. File Structure, Packages, and Subdirectories
    6. CLASSPATH Environment variable
    7. PATH Environment Variable
    8. Runtime Libraries

  3. Primitive Types
    1. Discrete Types: byte, char, short, int, long
    2. Real types: float, double
    3. The boolean Type
    4. Operators on Objects vs. Primitive Types
    5. Type Casting

  4. Reference Types
    1. Arrays
    2. Interfaces
    3. Classes (Objects)
    4. Primitive Types as Objects

  5. Variables and Arrays
    1. Variable Definition
    2. Primitive and Reference Variables
    3. Class and Instance Variables
    4. Array Components
    5. Exception Handler Parameters
    6. Local Variables
    7. Initialization to Null or Zero
    8. The final and static Keywords

  6. Expressions
    1. Relational
    2. Integer Arithmetic
    3. Floating Point Arithmetic
    4. Widening Conversions
    5. Narrowing Conversions

  7. Statements
    1. Simple
    2. Block
    3. Variable Declaration
    4. if-else
    5. switch
    6. while
    7. do while
    8. for

  8. Strings
    1. Strings as Objects: java.lang.String
    2. Operations on Strings
    3. Casting Rules Violation for Strings
    4. Converting Objects to String

  9. Object Oriented Concepts
    1. Encapsulation
    2. Inheiritance
    3. Data Abstraction
    4. Information Hiding
    5. Polymorphism

  10. Java Constructs Supporting OO
    1. class
    2. extends
    3. interface
    4. private, protected, and public
    5. implements

  11. Object Life Cycle
    1. Constructors
    2. finalize
    3. dispose

  12. Command Line Parameters
    1. Arguments to main
    2. Counting Parameters
    3. Accessing Parameters
    4. Shell Escape Sequences

  13. Exception Handling
    1. Error Checking vs. Exception Handling
    2. Coding Style Changes
    3. Mandated Handling
    4. java.lang.Throwable
    5. try Blocks
    6. catch Blocks

  14. Lab Exercises
    1. Hello, World
    2. Simple Arithmetic
    3. Command Line Calculator
    4. Arrays
    5. Array Tables
    6. Hex Dump Utility

Topic 2: Swing and Events

  1. Evolution of Swing
    1. Goals of Java GUI Toolkits
    2. Minimalism: Abstract Windowing Toolkit
    3. Expansion: Swing Look and Feel
    4. AWT and Swing Interaction

  2. Swing Design Hierarchy and Philosopy
    1. Top Level Display
    2. Collection Containers
    3. Placement Managers
    4. Atomic Components
    5. Recommended Design Pattern

  3. Dialog Boxes
    1. Compare and Contrast with raw Windows SDK
    2. javax.swing.JOptionPane
    3. Confirmation Dialog
    4. Input Dialog
    5. Message Dialog
    6. Option Dialog

  4. Top Level Containers
    1. javax.swing.JWindow
    2. javax.swing.JFrame
    3. Visibility: show and hide
    4. Size: isResizeable and setResizable
    5. Shutdown: setDefaultCloseOperation
    6. Coordinates: setLocation, setSize, and pack
    7. Subordinates: setContentPane

  5. Intermediate Panels
    1. javax.swing.JPanel
    2. Loading: add
    3. Placement: setLayoutManager

  6. Adding Components to Panels
    1. Determine Application: Class or Local?
    2. Design Visual Characteristics
    3. Construct Component
    4. Add Component
    5. Add Event Listener

  7. Component Placement
    1. Panel, Layout Manager, and Component Interactions
    2. Flow Layout
    3. Grid Layout
    4. Border Layout
    5. GridBag Layout, Coordinates, and Constraints

  8. Events and Listeners
    1. Events
    2. Listeners
    3. Importing and Defining Interfaces
    4. Container, Component, Event, Listener Interactions
    5. extends vs. implements
    6. Action Events
    7. Adjustment Events
    8. Item Events
    9. Mouse Events
    10. Other Events

  9. Responding to Button Clicks
    1. Action Events Defined
    2. java.awt.ActionEvent
    3. java.awt.ActionListener
    4. ActionListener.actionPerformed(ActionEvent)
    5. Widening to Object with getSource
    6. Decoding Which Button Via if

  10. Interacting With Screen Widgets
    1. Item Event Defined
    2. Adjustment Event Defined
    3. AdjustmentEvent and AdjustmentListener
    4. ItemEvent and ItemListener
    5. .adjustmentValueChanged(AdjustmentEvent)
    6. .itemStateChanged(ItemEvent)

  11. Lab Exercises
    1. GUI Hello, World
    2. Icon Buttons
    3. Tool Bars
    4. Grid Bag Layout
    5. Button Clicks
    6. Adjustment Events
    7. Vacation Daydreaming

Topic 3: JDBC and SQL

  1. Database Manager Concepts
    1. Primary vs. Secondary Storage
    2. File Systems
    3. Data Bank Concept
    4. Hierarchical and Set Based Traversal
    5. Beginnings of Relational Theory

  2. The Relational Database Model
    1. Set Theory Fundamentals
    2. Original Definition of a Relation
    3. Refined Definition
    4. Mappings Between Relational Databases and File Systems

  3. Column and Table Design
    1. Streams vs. Tables
    2. Normal Forms
    3. Column Names and Types
    4. Primary Keys
    5. Key Design Pitfalls

  4. Data Definition Language Statements
    1. Database Schema Defined
    2. Database Commands
    3. Data Types
    4. Table Commands

  5. Data Manipulation Language Statements
    1. Literals and Arithmetic Expressions
    2. Relational Expressions
    3. Common Functions
    4. Querying with SELECT
    5. Adding new rows with INSERT INTO
    6. Modifying existing rows with UPDATE SET WHERE
    7. Removing rows with DELETE FROM WHERE
    8. Combined INSERT and UPDATE: REPLACE INTO SET WHERE

  6. Java Database Interface Architectures
    1. Direct JDBC Driver
    2. JDBC-ODBC Bridge
    3. Installing a JDBC Driver
    4. Installing ODBC if Necessary

  7. JDBC Programming Practice
    1. Objects Involved
    2. Driver Managment
    3. Creating a Connection
    4. Generating an SQL Statement
    5. Retrieving a Result Set

  8. Lab Exercises
    1. Introduction to SQL
    2. Command Line Client
    3. GUI Query

Topic 4: Specialty Issues

  1. Console Input and Output
    1. Streams
    2. Console Error, Input, and Output: System.(err|in|out)
    3. Tokenization: java.io.StreamTokenizer
    4. Character, Number, and String Tokens
    5. Reading and Writing Files
    6. File Streams
    7. Buffered Streams
    8. Data Streams
    9. Readers and Writers
    10. All Together Now

  2. Mouse Mangement
    1. Mouse Events Defined
    2. .mouseClicked(MouseEvent)
    3. ...Entered, ...Exited, ...Pressed, and Released
    4. MouseEvent.getClickCount and .getPoint
    5. Just Need One?

  3. Two Dimensional Graphics
    1. Java Graphics Packages
    2. Extending a Panel
    3. Display, Panel, Graphics Interactions
    4. Setting Background and Foreground Colors
    5. Graphics Primitives: Lines, Boxes, Rectangles

  4. Lab Exercises
    1. Son of Calculator
    2. 2D Color Bars

If you would like more details about delivering a Java 2 Standard Edition training course, call or email us.

Left Brained Geeks +1 214 234 9283