Course description: Java Programming for developers using Eclipse

Duration:

 5 Days

Level:

 Intermediate

 

Format: hands-on 50%

Price:  $2,300

 

Description:

 

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 include:

  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
  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

o        How Java programs are compiled and executed

o        Package

o        JavaBeans

o        JAR files

o        Java compilation and classpath

o        Java execution and classpath

 

5.       Object-oriented programming with Java

o        Object-oriented programming constructs in Java

-          Structures of classes, methods, variables

-          Object instantiation and member access

o        Class relationships

-          Composition

-          Inheritance

-          Overriding and Overloading

-          Polymorphism

-          Dynamic Binding

o        Abstract and final classes, Interfaces

o        Object class

o        Class loading and object instantiation

o        Objects and threads

 

6.       Inner Classes

o        Top level vs. Inner Classes

o        Nested and member classes

o        How to define Inner Classes

o        Anonymous classes

o        Benefits of Inner Classes

 

7.       Exceptions

o        What is an Exception ?

o        Java’s Exception Handling Pattern

o        Runtime Exceptions

o        Standard Exceptions

o        Throw-catch

o        Try, Catch, and Finally

o        Custom Exceptions

o        Extensible

 

8.       Interfaces

o        Motivation for interfaces

o        Java interface

o        Interfaces vs. Abstract Classes

o        Polymorphism with Interface

o        Define a type

 

9.       Package and access control

o        Concept of package

o        Package and classes

o        Package and access control for class members

-          Variables and methods

o        Package and directory structure

 

10.   Input / Output

o        IO Terminology

o        Byte Streams

o        Character Streams

o        Reading binary data

o        Reading character data

o        Reading user input

o        File I/O operations

 

11.   Collection Framework

o        Understand the richer and simpler JDK1.2 collection framework

o        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

  • 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

o        Overview of persistence options in Java

o        Review of relational database concepts

o        Overview of JDBC 1.1

o        JDBC architecture

o        Types of drivers

o        High High-level steps of JDBC programming

o        JDBC classes that are part of java.sql package since JDK1.1

 

16.   Testing Java application with JUnit and Eclipse

o        Types of testing

o        JUnit overview

o        JUnit example code

o        How to write a test

o        Using Asserts

o        JUnit set up in Eclipse

o        Create a JUnit TestCase in Eclipse

 

17.   Design Patterns

o        Define Design Pattern

o        Elements of Pattern

o        Describe specific patterns

o         Factory Method

o         Singleton

o         Decorator

o         Command

o         State

o         Observer

o         Facade

 

Hands-On Labs

 

o        Lab 1 - Java Programming with Eclipse

o         Introducing Eclipse IDE and creating a simple Java Project

o         Learn how to pass program arguments

o         Learning about Java programming language and syntax

-          while loop, for loop, if-else condition block, switch statement, try-catch block

o         Read data from the Input Stream

 

 

 

o        Lab 2 - Develop a Java class with Eclipse

o         Create a Simple Java Project using Eclipse IDE

o         Setting the breakpoints and debugging the program

o         Learn how to add JAR files to project and use classes from an external JAR file

 

o        Lab 3 - Programming with advanced OO concepts

o         Method Overloading

o         Understanding Inheritance and Polymorphism in Java

o         “final” keyword

o         Creating abstract class

o         Method Overriding

o         Dynamic binding

 

o        Lab 4 - Exception-handling in Java

o         Learn how to handle exception using try-catch-finally

o         Learn how to use throw and throws

o         Create Custom Exceptions

o         Nested Exceptions

 

o        Lab 5 - Understanding Java Interfaces

o         Create an Interface

o         Create classes that implements Interface with different implementations

o         Polymorphism using Interface

o         Understand the concept of down-casting

 

o        Lab 6 - Understanding access controls

o         Understand the access modifies – public, protected and private

o         Create classes and sub-classes in difference packages with different access modifiers

o         Understanding the access control

-          From a subclass in the same package

-          From a class (non-subclass) in the same package

-          From a class (non-subclass) in a different package

-          For the members of a package-level class

 

o        Lab 7 - Understanding Collection interfaces

o         Understand the Collection interface

  • Insert one and multiple entries in a Collection

  • Show all the entries in a Collection

  • Delete specific and all the entries from a Collection

  • Filter entries from a Collection based on a condition

  • Test performance of various Collection types (e.g. Vector, TreeSet, and ArrayList)

 

o        Lab 8 - Introduction to Reflection API

o         Determine the class of an object

o         Get information about a class's modifiers, fields, methods, constructors, and super classes

o         Find out constants and method declarations belong to parent interface

o         Creating an instance of a class

o         Getting and setting the value of an object's field

o         Invoking a method on an object

 

o        Lab 9 - Introduction Multithreading Programming

o         Understand Multithreading and learn how asynchronous threads operate

o         Synchronizing threads

o         Thread priorities

o         Using join( ) and isAlive( )

o         Inter-thread communication using wait( ), notify( ) and notifyAll( )

o         Create thread by

-          Extending Thread class

-          Implementing Runnable interface

 

o        Lab 10 - Using Relational Databases with JDBC 1.1

o         Using the JDBC API, develop an application that

-          Connects with the database

-          Creates table in the database

-          Inserts and modifies data in the database table

-          Retrieves all the data and data based on criteria from the database table

-          Obtains meta data information about the database and records

 

o        Lab 11 - Learn how to use JUnit for testing

o         Learn the life cycle methods of TestCase

o         Create a TestCase class for classes to test

o         Write test cases for methods to test

o         Run test in Textual version and SwingUI version

o         Using the method assertEquals(Object, Object)

o         Testing Exceptions

o         Reuse the test case functionality through inheritance

o         Learn how to create Test Suites

 

Prerequisites:

 

Basic knowledge of programming. Concepts of Object-oriented Analysis and Design. Prerequisites can be satisfied by taking AvantSoft course on “OOAD using UML”.


Public Classes Are Available At UNICOMP, Inc Locations Or On Site Private Class, Upon Your Request.


Home     AIX     CITRIX     DB2     IBM HACMP     i-Series & IBM AS/400     Java     Linux, Unix, & Open Source    Lotus Notes
 

MQ Series     Rational     Storage Networking     Tivoli     Websphere     z Series & OS/390

Copyright © 1989-2007 Unicomp, Inc. All Rights Reserved Webmaster