Course Description
Fast Track to Java™ for OO Developers
OVERVIEW
Fast Track to Java for OO Developers is a demanding, fast
paced course suitable for programmers with existing experience in other OO
languages such as C++ or C#. It builds on the knowledge that Object-Oriented
programmers already possess to provide an accelerated approach to learning the
Java programming language and good Java programming practice. In addition to
teaching you everything you need to become productive in basic Java
programming, this course draws on our extensive experience to provide a solid
understanding of the core OO and Java concepts and practices needed to create
well designed Java programs. It leverages the student's existing knowledge
about OO programming to show how to use Java at an accelerated pace. This
includes material on creating well designed Java classes, using encapsulation,
building more complex functionality with composition, and using inheritance to
share functionality and create specialized types. It also covers more advanced
concepts such as using interfaces, working with the Java Collections Framework,
and accessing databases with JDBC. This course is suitable for environments
using either Java 5, Java 6, or Java 7. The material includes coverage of all
current Java capabilities that are within the scope of the material, including
new Java 7 capabilities such as strings in switch statements, and Multi-catch.
It also stresses the use of good coding practices for all the examples and
labs. All labs are doable in any of the supported Java environments. This
course is available for most IDEs, such as Eclipse and IBM RAD Be prepared to
work hard and learn a great deal! The course can be held on-site &
customized to fit your needs.
OUTLINE
•Lesson 1 - A First
Look (Accelerated)
◦A Simple Java Class
◦Java’s “Hello World” Program
•Lesson 2 - Java
Basics
◦Language and Platform Features
◦Program Life Cycle
◦The Java SE Development Kit (JDK)
•Lesson 3 - Class and
Object Basics (Accelerated)
◦Classes, References, and Instantiation
◦Adding Data to a Class Definition
◦Adding Methods (Behavior)
•Lesson 4 - More on
Classes and Objects (Accelerated)
◦Accessing data, the "this" variable
◦Encapsulation and Access Control, public and private Access
◦Constructors and Initialization
◦static Members of a Class
◦Scopes, Blocks, References to Objects
•Lesson 5 - Flow of
Control (Accelerated)
◦Branching: if, if-else, switch
◦Iteration: while, do-while, for, break, continue
•Lesson 6 - Strings
and Arrays (Accelerated)
◦String, StringBuffer, StringBuilder
◦Arrays, Primitive Arrays, Arrays of Reference Types
◦varargs
•Lesson 7 - Packages
◦Package Overview - Using Packages to Organize Code
◦import statements
◦Creating Packages, package Statement, Required Directory
Structure
◦Finding Classes, Packages and Classpath
•Lesson 8 -
Composition and Inheritance (Accelerated)
◦Using Composition to Deal With Complexity
◦Composition/HAS-A, Delegation
◦Using Inheritance and Polymorphism to share commonality
◦IS-A, extends, Inheriting Features, Overriding Methods,
Using Polymorphism
◦Class Object
◦Abstract Classes
•Lesson 9 -
Interfaces (Accelerated)
◦Using Interfaces to Define Types
◦Interfaces and Abstract Classes
•Lesson 10 -
Exceptions
◦Exceptions and the Exception Hierarchy
◦try and catch
◦Handling Exceptions
◦Program Flow with Exceptions
◦finally
•Lesson 11 - JDBC
◦JDBC basics
◦JDBC Architecture
◦Using JDBC drivers & DriverManager
◦Class Connection and connecting to a database
◦Class Statement and executing SQL statements
◦Other statement types
◦Driver types
•Lesson 12 - Java
Collections and Generics
◦The Collections Framework and its API
◦Collections and Java Generics
◦Collection, Set, List, Map, Iterator
◦Autoboxing
◦Collections of Object (non-generic)
◦Using ArrayList, HashSet, and HashMap
◦for-each Loop
◦Processing Items With an Iterator
◦More About Generics
•Lesson 13 -
Additional Java Features
◦Assertions
◦Type-safe Enums
◦Annotations
◦Additional Features in Java 6 and Java 7
•Lesson 14 - I/O
Streams (Optional)
◦Readers and Writers
◦Filter Streams
◦InputStreams and OutputStreams
◦Converting Between Streams and Readers/Writers
◦New I/O (NIO) APIs