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
- The Java Environment
- Why was Java Developed?
- The Java Virtual Machine
- Java Application Execution
- Java Compared With C++
- Java Compared With Other OO Languages
- Program Structure
- Defining a Root Class
- Declaring an Initialization Method
- Declaring Other Objects
- Incorporating API elements
- File Structure, Packages, and Subdirectories
- CLASSPATH Environment variable
- PATH Environment Variable
- Runtime Libraries
- Primitive Types
- Discrete Types:
byte, char, short, int, long
- Real types:
float, double
- The
boolean Type
- Operators on Objects vs. Primitive Types
- Type Casting
- Reference Types
- Arrays
- Interfaces
- Classes (Objects)
- Primitive Types as Objects
- Variables and Arrays
- Variable Definition
- Primitive and Reference Variables
- Class and Instance Variables
- Array Components
- Exception Handler Parameters
- Local Variables
- Initialization to Null or Zero
- The
final and static Keywords
- Expressions
- Relational
- Integer Arithmetic
- Floating Point Arithmetic
- Widening Conversions
- Narrowing Conversions
- Statements
- Simple
- Block
- Variable Declaration
if-else
switch
while
do while
for
- Strings
- Strings as Objects:
java.lang.String
- Operations on Strings
- Casting Rules Violation for Strings
- Converting Objects to String
- Object Oriented Concepts
- Encapsulation
- Inheiritance
- Data Abstraction
- Information Hiding
- Polymorphism
- Java Constructs Supporting OO
class
extends
interface
private, protected, and public
implements
- Object Life Cycle
- Constructors
finalize
dispose
- Command Line Parameters
- Arguments to main
- Counting Parameters
- Accessing Parameters
- Shell Escape Sequences
- Exception Handling
- Error Checking vs. Exception Handling
- Coding Style Changes
- Mandated Handling
java.lang.Throwable
try Blocks
catch Blocks
- Lab Exercises
- Hello, World
- Simple Arithmetic
- Command Line Calculator
- Arrays
- Array Tables
- Hex Dump Utility
Topic 2: Swing and Events
- Evolution of Swing
- Goals of Java GUI Toolkits
- Minimalism: Abstract Windowing Toolkit
- Expansion: Swing Look and Feel
- AWT and Swing Interaction
- Swing Design Hierarchy and Philosopy
- Top Level Display
- Collection Containers
- Placement Managers
- Atomic Components
- Recommended Design Pattern
- Dialog Boxes
- Compare and Contrast with raw Windows SDK
javax.swing.JOptionPane
- Confirmation Dialog
- Input Dialog
- Message Dialog
- Option Dialog
- Top Level Containers
javax.swing.JWindow
javax.swing.JFrame
- Visibility:
show and hide
- Size:
isResizeable and setResizable
- Shutdown:
setDefaultCloseOperation
- Coordinates:
setLocation, setSize, and pack
- Subordinates:
setContentPane
- Intermediate Panels
javax.swing.JPanel
- Loading:
add
- Placement:
setLayoutManager
- Adding Components to Panels
- Determine Application: Class or Local?
- Design Visual Characteristics
- Construct Component
- Add Component
- Add Event Listener
- Component Placement
- Panel, Layout Manager, and Component Interactions
- Flow Layout
- Grid Layout
- Border Layout
- GridBag Layout, Coordinates, and Constraints
- Events and Listeners
- Events
- Listeners
- Importing and Defining Interfaces
- Container, Component, Event, Listener Interactions
extends vs. implements
- Action Events
- Adjustment Events
- Item Events
- Mouse Events
- Other Events
- Responding to Button Clicks
- Action Events Defined
java.awt.ActionEvent
java.awt.ActionListener
ActionListener.actionPerformed(ActionEvent)
- Widening to Object with
getSource
- Decoding Which Button Via
if
- Interacting With Screen Widgets
- Item Event Defined
- Adjustment Event Defined
AdjustmentEvent and AdjustmentListener
ItemEvent and ItemListener
.adjustmentValueChanged(AdjustmentEvent)
.itemStateChanged(ItemEvent)
- Lab Exercises
- GUI Hello, World
- Icon Buttons
- Tool Bars
- Grid Bag Layout
- Button Clicks
- Adjustment Events
- Vacation Daydreaming
Topic 3: JDBC and SQL
- Database Manager Concepts
- Primary vs. Secondary Storage
- File Systems
- Data Bank Concept
- Hierarchical and Set Based Traversal
- Beginnings of Relational Theory
- The Relational Database Model
- Set Theory Fundamentals
- Original Definition of a Relation
- Refined Definition
- Mappings Between Relational Databases and File Systems
- Column and Table Design
- Streams vs. Tables
- Normal Forms
- Column Names and Types
- Primary Keys
- Key Design Pitfalls
- Data Definition Language Statements
- Database Schema Defined
- Database Commands
- Data Types
- Table Commands
- Data Manipulation Language Statements
- Literals and Arithmetic Expressions
- Relational Expressions
- Common Functions
- Querying with SELECT
- Adding new rows with INSERT INTO
- Modifying existing rows with UPDATE SET WHERE
- Removing rows with DELETE FROM WHERE
- Combined INSERT and UPDATE: REPLACE INTO SET WHERE
- Java Database Interface Architectures
- Direct JDBC Driver
- JDBC-ODBC Bridge
- Installing a JDBC Driver
- Installing ODBC if Necessary
- JDBC Programming Practice
- Objects Involved
- Driver Managment
- Creating a Connection
- Generating an SQL Statement
- Retrieving a Result Set
- Lab Exercises
- Introduction to SQL
- Command Line Client
- GUI Query
Topic 4: Specialty Issues
- Console Input and Output
- Streams
- Console Error, Input, and Output: System.(err|in|out)
- Tokenization:
java.io.StreamTokenizer
- Character, Number, and String Tokens
- Reading and Writing Files
- File Streams
- Buffered Streams
- Data Streams
- Readers and Writers
- All Together Now
- Mouse Mangement
- Mouse Events Defined
.mouseClicked(MouseEvent)
...Entered, ...Exited, ...Pressed, and Released
MouseEvent.getClickCount and .getPoint
- Just Need One?
- Two Dimensional Graphics
- Java Graphics Packages
- Extending a Panel
- Display, Panel, Graphics Interactions
- Setting Background and Foreground Colors
- Graphics Primitives: Lines, Boxes, Rectangles
- Lab Exercises
- Son of Calculator
- 2D Color Bars
If you would like more details about delivering a Java 2 Standard Edition training course, call or email us.
|
+1 214 234 9283 |