|
Java Programming for Non OOP & COBOL Programmers |
|
| SUMMARY: |
This course provides an introduction to the Java programming language using a client-side application context. Java programming syntax, fundamental APIs and OO principles and syntax are included. File I/O, Database processing and GUI packages are covered. |
| AUDIENCE: |
The material covered in this course is designed for students with no/light previous C/OO programming experience who plan to develop programs using Java. |
| PREREQUISITES: |
Students should have previous programming experience in a compiled, procedural language or a strong background in scripting languages. |
| APPROACH: |
Instructor-led lecture and discussion with extensive demos and hands-on labs. Chapter appendices include optional/advanced material to be included as time permits. Multiple labs for each chapter allow students with varied backgrounds to progress through the material. |
| OBJECTIVES: |
At the end of this course, students will be able to:
- Describe the evolution of Java releases and SE/EE API facilities.
- Understand the JVM and how it provides application portability.
- Develop console-based client-side applications using the full core Java syntax.
- Understand and code for runtime exception handling.
- Write programs using existing classes in the Lang and Util Java packages.
- Write programs to access disk-based file sources using the Java IO package using byte, binary, character and object streams.
- Write programs to manipulate relational databases using the Java SQL package including ResultSets, Stored Procedures and Transaction Management.
- Develop desktop GUI programs including component event handling using the AWT and Swing packages.
- Understand the OO principles of abstraction, encapsulation, polymorphism and inheritance.
- Develop and use individual custom application classes following the JavaBean design pattern.
- Understand and utilize classes employing inheritance;
Extend existing classes, provide constructors and override methods.
|
| COURSE CONTENT: |
- Introduction
- Origins, Bundles/Releases
- Program architectures: Component, Application, Servlet, Applet
- Java Development JDK vs Runtime JVM Environments
- Major APIs, Packages
- Language Features
- Development Tools: Sun JDK, Open Source, Commercial
- Running Applications: JVM/JDK Installation, Environment Setup
- Source Code Examples
- Language Fundamentals
- Program/Source File Structure/Design
- Java Syntax Essentials
- Format and Punctuation
- Comments
- Blocks
- Identifiers, Reserved Words
- Data Type Representations, Usage, Declarations
- Constant Representations
- Characters, MetaCharacters and Strings
- Operators and Expressions: Arithmetic, Reflexive, Relational/Logical, Compound
- Console Stream I/O
- Conditionals, if/else, switch/case
- Working with String Class Objects
- Declaring and Initializing
- Comparing Strings
- String Class Methods
- Additional Language Facilities
- Looping Constructs
- Conditional Loops: while, do/while, conditions
- Iterative Loops: for, clauses
- Flow Control: break, continue
- Array Processing
- Declaration & Dynamic Allocation
- Initialization & Reference
- Command Line Arguments
- Wrapper Classes
- Overview and Usage
- String to primitive datatype conversion
- Character Classification
- Appendix: Vectors, String Token Parsing
- Function Methods
- Overview
- Method Signatures: Arguments, Return Types, Access
- Invocation: Internal vs External Methods, Classpath Issues
- Variable Scope: Local vs Global
- Overloaded Methods, Runtime Resolution/Conversions
- Reference vs Value Argument Passing, Objects vs Primitive Types
- Exception Handling
- Overview
- Checked vs Unchecked Runtime Exceptions
- try, catch, throw
- Appendix: Static vs NonStatic Methods
- Classes and Objects
- Overview: Abstraction, Encapsulation, Polymorphism and Inheritance
- Declaring Classes and Objects
- Defining Data Member Properties
- Defining Methods
- Accessing Class Data and Methods, Resolution
- Object Creation and Constructors, Overloading Constructors
- Assigning and Comparing Objects, References, equals/clone
- Encapsulation: private, public and protected Access, Design Considerations
- Static Data Properties and Methods
- Subclassing and Inheritance
- Overview, Parent/Child Relationship, Capabilities
- Data and Method Inheritance
- Protected Access
- Child Constructors, Invoking Parent Constructors, Overloading
- Overriding Methods, Invoking Overriden Methods
- Polymorphism
- Type Safety
- Casting
- instanceof Runtime Type Determination
- Object Class
- Appendix
- Abstract Classes
- Interfaces
- Inner Classes
- Input/Output Streams
- java.io Package Overview, Chaining
- File class and host filesystem data
- Byte Streams: FileInput/OutputStream Classes
- Binary Data Streams: DataInput/OutputStream Classes, Chaining
- Text Streams: BufferedReader/Writer Classes, Chaining, Unicode Conversion
- Object Streams: Serialization, OubjectInput/OutputStream Classes
- Using JDBC
- Overview and Essential Package Classes/Interfaces
- JDBC Programming Checklist
- DriverManager: Making Connections
- Loading Drivers: Explicit vs CommandLine
- Driver Types 1-4
- Connection Strings
- Statement and ResultSet Classes
- executeQuery and executeUpdate Methods, Return Types
- Processing ResultSets, Cursor Movement, Column Retrieval
- Mapping SQL-to-Java Types
- Handling NULLs
- Catching/Handling SQL Exceptions, Messages
- Special Statements
- PreparedStatement: precompiled queries/updates, Replaceable Parameters
- CallableStatement: using stored procedures, IN/OUT/INOUT Parameters
- Advanced ResultSet Processing
- Scrollable Cursors
- Updateable ResultSets
- Transactions: AutoCommit, Commit, Rollback, Transaction Isolation
- Appendix
- DatabaseMetaData, ResultSetMetaData
- Developing GUI Applications using Swing
- Overview: AWT and Swing Packages
- GUI Architecture: Components, Containers and Layout Managers
- Swing Programming Checklist
- Containers
- JWindow, JFrame, JDialog
- Root, Content and Glass Panes
- Close Operations
- Controlling Size, Position, Font and Color
- Components
- Inherited Method Capabilities: Borders, ToolTips, Tab Order
- Labels and Buttons
- TextFields and TextAreas
- Checkboxes and RadioButtons/Groups
- Layout Managers: Flow, Grid, Border, Box, null, Nested Containers
- Dialogs: JDialog, JOptionPane, JFileChooser
- Creating Menus: JMenuBar, JMenu, JMenuItem
- Event Handling
- Overview: Event Delegation Model
- Sources, Objects and Listeners
- Event Listener Interfaces
- Registering Listeners
- Handling Events, EventObject Methods
- Strategies for Implementing Event Handlers
- Directly Implementing Interfaces
- Subclasses Adapters, Inner Classes
- Anonymously Extending Adapters
AJC/08 |
|
© 2007 Verhoef Training, Inc.
|