Courses
 
 
Java Programming for OO developers
 
Duration:  5 days Level:  Intermediate Format:   50% lab
 
Description:
This course can be delivered for Eclipse, IBM RAD / WSAD, or WebLogic Workshop IDE.

Java is an Object-oriented programming language. It builds platform-independent applications. Eclipse is an open source extensible Java IDE and provides facility to build client-server and web-based java applications. This course starts with the overview Java language, syntax and object-oriented programming concepts. It explains how to build and run programs using the open source Eclipse IDE.
 
Topics:
1 Java Overview
2 Fundamentals of Java Programming Elements
3 Java development with Eclipse
4 Java Program Compilation and Execution
5 OO programming with Java
6 Inner Classes
7 Exceptions
8 Interfaces
9 Package and Access Control
10 Input/Output
11 Collection Framework
12 Comparing C++ and Java (Optional)
13 Reflection
14 Threads
15 JDBC
16 Testing Java application with JUnit and Eclipse
17 Design Patterns
 
Contents:
1 Java Overview
 
  • What is Java and why is it so important?
  • Java architecture and terminology
  • Java language and programming models
  • Java resources
   
2 Fundamental Programming Elements of Java
 
  • Basic OO concepts in Java
  • Programming constructs of Java
  • Details of non-OO programming elements like C
  • Character Set and Identifiers
  • Data Types
  • Operators and expressions
  • Variables, declarations, assignments
  • Statements and blocks
  • Strings, Arrays
  • Reading user inputs
   
3 Java Development with Eclipse
 
  • Introduction of Eclipse IDE
  • Creating Java projects
  • Project properties
    • Setting up source / output folders
    • Java build path
    • Preferences
  • Create packages
  • Importing files
  • Develop Java code
  • Running applications
  • Break points and debugging
   
4 Java Program Compilation and Execution
 
  • How Java programs are compiled and executed
  • Package
  • JavaBeans
  • JAR files
  • Java compilation and classpath
  • Java execution and classpath
   
5 Object-oriented programming with Java
 
  • Object-oriented programming constructs in Java
    • Structures of classes, methods, variables
    • Object instantiation and member access
  • Class relationships
    • Composition
    • Inheritance
    • Overriding and Overloading
    • Polymorphism
    • Dynamic Binding
  • Abstract and final classes, Interfaces
  • Object class
  • Class loading and object instantiation
  • Objects and threads
   
6 Inner Classes
 
  • Top level vs. Inner Classes
  • Nested and member classes
  • How to define Inner Classes
  • Anonymous classes
  • Benefits of Inner Classes
   
7 Exceptions
 
  • What is an Exception ?
  • Java's Exception Handling Pattern
  • Runtime Exceptions
  • Standard Exceptions
  • Throw-catch
  • Try, Catch, and Finally
  • Custom Exceptions
  • Extensible
   
8 Interfaces
 
  • Motivation for interfaces
  • Java interface
  • Interfaces vs. Abstract Classess
  • Define a type
   
9 Package and access control
 
  • Concept of package
  • Package and classes
  • Package and access control for class members
    • Variables and methods
  • Package and directory structure
   
10 Input / Output
 
  • IO Terminology
  • Byte Streams
  • Character Streams
  • Reading binary data
  • Reading character data
  • Reading user input
  • File I/O operations
   
11 Collection Framework
 
  • Understand the richer and simpler JDK1.2 collection framework
  • Collections Framework concepts
    • Collections Framework advantages
    • Collection Interfaces
    • General-purpose Implementations
    • Changes in JDK1.1 APIs
    • Wrapper Implementations
    • Convenience Implementations
    • Algorithms
    • Array Utilities
    • Compatibility with pre-JDK 1.2 collections
   
12 Comparing C++ and Java (Optional)
 
  • Differences between C++ and Java
    • Object-oriented programming and portability
    • Multiple Inheritance
    • Pointer and data structures
    • Memory Management
    • Finalize and Destructor
    • Templates
  • Comparing performance of C++ and Java
    • Memory usage
    • Speed
    • Accessing System Resources
   
13 Reflection
 
  • About Reflection API
  • java.lang.Class objects
  • Class, Method, Field objects
  • Use of Reflection API
   
14 Threads
 
  • Why concurrency?
  • Creating Threads in Java
  • Synchronization and Deadlock
  • Daemon Threads
  • Scheduling and priority
  • Thread Communication
  • Thread states
   
15 JDBC
 
  • Overview of persistence options in Java
  • Review of relational database concepts
  • Overview of JDBC 1.1
  • JDBC architecture
  • Types of drivers
  • High High-level steps of JDBC programming
  • JDBC classes that are part of java.sql package since JDK1.1
   
16 Testing Java application with JUnit and Eclipse
 
  • Types of testing
  • JUnit overview
  • JUnit example code
  • How to write a test
  • Using Asserts
  • JUnit set up in Eclipse
  • Create a JUnit TestCase in Eclipse
   
17 Design Patterns
 
  • Define Design Pattern
  • Elements of Pattern
  • Describe specific patterns
    • Factory Method
    • Singleton
    • Decorator
    • State
    • Observer
    • Facade
   
Hands-on Labs:
1 Java Programming with Eclipse
2 Develop a Java class with Eclipse
3 Programming with advanced OO concepts
4 Exception-handling in Java
5 Understanding Java Interfaces
6 Understanding access controls
7 Understanding Collection interfaces
8 Introduction to Reflection API
9 Introduction Multithreading Programming
10 Using Relational Databases with JDBC 1.1
11 Learn how to use JUnit for testing
   
Prerequisites:
Basic knowledge of programming. Concepts of Object-oriented Analysis and Design. Prerequisites can be satisfied by taking Eclipse University Course on “OOAD using UML”.
   
Audience:
Architects, designers, analysts, and developers.