
|
Java Programming for OOP 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 syntax and principles are covered. File I/O, Database processing, Thread, Networking and GUI packages are included. |
| AUDIENCE: |
The material covered in this course is designed for students with previous C-based and OO programming experience who plan to develop programs using Java. |
| PREREQUISITES: |
Students should have previous OO programming experience in languages such as C++, C#. A strong VB background is also sufficient. Students without a C/OO background should consider attending "Java Fundamentals for Non OOP and Cobol Programmers". |
| APPROACH: |
Instructor-led lecture and discussion with extensive demos and hands-on labs. Chapter appendices include optional/advanced material. Several optional closing topics are available 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 its provision of 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 Basic/Advanced 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.
- Understand the usage of Threads and develop Threaded applications.
- Understand network programming and develop Socket-based client-server applications.
|
| 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
- 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
- Appendix: URL Streams
- 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
- Threading Fundamentals (Optional)
- Overview: Processes vs Threads, Java Threading Model
- Thread Class: Virtual CPU Facilities, Methods, Priorities
- Creating Threads: Implementing Runnable vs Extending Thread
- Thread States: New, Running, Blocked, Dead; Related Thread class methods
- Stopping and Suspending Threads, Locking Issues
- Thread Synchronization
- Overview: Synchronous vs Asynchronous Data Sharing
- Locks and Monitors, synchronized Keyword
- wait/notify Concepts and Usage, Producer/Consumer Models
- Network Programming (Optional)
- Overview
- Network Streams, IP Addresses
- Ports, Services and Protocols
- Net Package Classes and Exceptions
- InetAddress Class: Host/IP Translation
- URL and URLConnection Classes: Reading HTTP Streams
- Socket Programming
Overview: Socket, ServerSocket Classes
- Socket Clients: Opening, Attaching Stream IO Classes, Exceptions
- Socket Servers: Starting, Accepting Clients, Attaching Stream IO Classes, Exceptions
- Appendix: Datagram Sockets, UDP
- Developing GUI Applications using Swing (Optional)
- 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.
|
|
Schedule Dates
Course offered as Inhouse or Public
PUBLIC SCHEDULE |
| Date |
Location |
State |
|
1/26/2009
 |
Fort Wayne |
IN |
|
4/27/2009
 |
Jackson |
MS |
|
5/11/2009
 |
Little Rock |
AR |
|
|