JV11    Java Programming
 
Length/Format
5 days
Lecture, discussion, demos and hands-on labs
Description
This course material presents an in-depth, hands-on introduction to Java SE, Sunís object-oriented programming language and platform. Both fundamental and intermediate coding techniques and facilities are covered for independent applications. The material may be delivered on either Linux/UNIX or Windows platforms.
The course design is modular, with 9 core topic chapters. Each chapter presents its more advanced material in a seperate chapter appendix, with a parallel design for the chapter's hands-on labs (basic, core, advanced). Optional/Advanced topics are covered in seperate modules which may be included depending on the audience experience.
Audience
The 5-day course offering is adaptable to programming audiences with or without an existing object-oriented background. For non-OO programmers (MF/Cobol, C, scripting, support), the 9 core topic chapters (with selective use of chapter appendices) present all fundamental Java programming skills. For experienced OO programmers (C++/C#/VB), the 5-day schedule allows more advanced labwork and can include 1 or 2 of the Optional Topics listed below.
Key Topics
1 INTRODUCTION TO JAVA TECHNOLOGY -
Origins, Info Sources, SE Component APIs, Applications vs Applets vs Servlets, Platforms & Releases, SDK vs JRE; Language Characteristics, Compiling & Interpreting JVM, Architecture & Portability, Multi-Threading, GUI Facilities; Development Environments, Java Develop Kit SDK, Packages, Commercial IDEs; Packages, CLASSPATH; Sample Apps

2 LANGUAGE FUNDAMENTALS A -
Overview, Source Files, General Syntax/Structure, Comments, Identifiers, Verbs; Data Representations, Primitive Types, Extended Class Types & Methods, Constants; Operators & Expressions; Console Stream IO, Formatting; Flow Control, Conditions; Date, String Classes; Sample Apps; APPENDIX: switch/case

3 LANGUAGE FUNDAMENTALS B -
Looping Structures, while/for, Flow Control; APPENDIX: Arithmetic If, final variables, Assertions, Annotations, Bit Operations

4 USING CLASSES AND OBJECTS -
Overview, Class vs Objects, Field/Method Access, Memory References; Arrays Overview, Declare/Instantiate, Init/Access, Multiple Dimensions; Command Line Argument Processing; Wrapper Classes, Conversions, Boxing; APPENDIX: Legacy Vector, ArrayLists, Iterative Foreach Loop, Irregular 2D Arrays, StringTokenizer/split

5 WRITING METHODS AND EXCEPTIONS -
Overview, Method Functions, Signatures, Parameters/Return Types, Invocation; Variable Scope, Reference Parms, Overloading; Overview Exception Handling, throwing/catching, Checked vs UnChecked Exceptions; try/catch/finally/throw Syntax; APPENDIX: Static Fields/Methods

6 CLASSES AND OBJECTS -
Overview, Abstraction, Encapsulation, Inheritance, Polymorphism; Declaring Class Field/Method Members; Member Access/Assignment; Object Constructor, this(); Encapsulation, private/public/protected/package, get/set Methods; Comparing/Assigning Objects, equals(), clone(); Static Fields and Methods; Overview SubClassing & Inheritance, Constructors/super(), Overriding Members, Access Control, Virtual Binding, Object Class; Overview Polymorphism, Casting, Runtime Type instanceof; APPENDIX: Abstract Classes, Final Classes/Methods, Interfaces, Inner and Anonymous Classes, Packages

7 FILE I/O CLASSES -
Overview, Typical Classes, Hierarchy, Exception Handling; File Object, Directory Info Methods; Character Streams, BufferedReader/Writer Classes, Methods, Delimited Files; Byte Streams, FileInput/OutputStream Classes, Methods; , Binary Data Streams, DataInput/OutputStream Classes, DataTypes, Methods; Object Serialization, ObjectInput/OutputStream Classes; APPENDIX: URL Streams, File Conversions

8 DATABASES AND JDBC -
Overview, Packages, Coding Essentials, Drivers, Connections, Statements and ResultSets; Making Connections, Driver Types, Loading Drivers, Connection String URLs; Statements and ResultSets, Executing Queries/Updates, Accessing Rows/Columns, Handling Nulls, Exceptions; PreparedStatement and Efficiencies; Stored Procedures, CallableStatement; Advanced ResultSets, Scrollable Cursors, Updatable Rows; Transactions, commit/rollback; APPENDIX: ResultSet and Database MetaData

9 COLLECTIONS, GENERICS AND ENUMS -
Legacy Collections, Vector, Hastable; Overview Collection Framework, Interfaces, Implementations, Algorithms; Interfaces, Set, List, Queue, Iterator; Implementations, Array/LinkedList, Hash/TreeSet, Hash/TreeMap; Iterators; Collections CLass Utilities, Comparable Interface; Overview Generics, Type Safety, Custom Generic Classes; Overview Enums, Constrained Value Types; Enum Usage and Builtin Methods; APPENDIX: Enum Constructors

OPTIONAL TOPIC MODULES:

JFC and SWING -
Overview, AWT vs Swing; Architecture, Containers, Components, LayoutManagers Program Structure and Coding; Containers, JFrame/Dialog/Window, Size/Position, Color/Font, Window Events; JComponents, Buttons, Labels, Text, Check/Radio, List/Combo; Layout Managers, Flow, Grid, Border, null, Box; Dialog Factories, OptionPane, FileChooser; Menus;
Overview Event Delegation Model, Sources, Objects & Listeners; Program Structure and Coding, Implementing Interfaces, Inner Classes, Anonymous Adapters;

USING JAVA THREADS -
Overview, Process vs Thread; Object Threading Model, Thread Class, Data, run() code; Creating Threads, Runnable Interface vs Extending Thread Class; Thread States, New, Runnable, Blocked, Dead; Thread Class Methods, start/stop, suspend/resume, yield, sleep; Thread Priority & Scheduling, Daemons, Groups; Synchronization and Thread Safe Coding, Locks; Producer/Consumer Model, wait/notify Processing; APPENDIX: SE5 Concurrency Package, Executors, ThreadPools, Scheduling, Callables

JAVA NETWORKING AND SOCKETS -
Overview, Network Stack and Protocols, IP/TCP/UDP/Appl, Services; Package Classes and Exceptions; INET Address Translations; URL and URLConnections, HTTP Header Info, Downloading FileData; Socket Programming, Client vs Server Coding, Threading; APPENDIX: Datagram Sockets and UDP; CGI-like GET/POST Processing

JAVA EE OVERVIEW -
Overview, Definitions, MVC Design Pattern, Server Products; Platform Servers, Containers, Client Technologies; API Services, Servlet, JSP, EJB, JNDI, JDBC, JTA, JMS, JAXP, JCA, JAAS; WebApps Processing Cycle; Deployment Objects, JAR/WAR/EAR; Server Component Directory Structure, XML Descriptors; Development Roles; Sample Apps.
 
Copyright © 2011 AJC Information Solutions     http://www.ajcis.com    info@ajcis.com     973.605.8373