Learning Patterns: Your Global Source for Java Training, Mentoring, and Consulting
Home | About LearningPatterns | Our Services | Contact Us | Printer Friendly Link

Course Description:

Gentle Java™ and OO Development

Gentle Java and OO Development is geared to audiences with no background in Object-Oriented programming or Java. It uses a steady pace and numerous hands-on labs to provide an easy entry into the world of Java and OO Programming.

Java is one of the most important programming languages used today, and its correct usage is a critical part of many systems being written now.  The basics of the language are relatively easy, but the challenge lies in learning how to use it well.  This is especially true regarding the Object-Oriented nature of Java, which for many developers is a new way of approaching system design and construction.

This course covers the core OO and Java concepts that developers need to use the Java programming language to create well designed Java programs. It focuses on key OO capabilities and how to use them in Java. 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.

This course is suitable for environments using Java 1.4, Java 5, or Java 6. The material includes coverage of all the new Java capabilities, such as Generic Collection classes, and clearly points out which capabilities are supported in which environment. All labs are doable in any of the supported Java environments.

This course draws on our extensive experience to provide a solid understanding of the concepts and practices needed to write good object oriented programs in Java.  Be prepared to work hard and learn a great deal! This course can be followed by our Intermediate Java course. The course can be held on-site & customized to fit your needs.

All labs can be done with the Eclipse IDE or a simple editor, and the lab instructions include detailed directions on both environments.

Course Information

Duration: 4 days

Hands-on: 50% hands-on, 50% lecture

Supported Platforms: Bare Sun JDK, IBM RAD, Eclipse

Skills Gained:

Course Details:

Java Basics

  • Java Overview
  • Java’s “Hello World” Program
  • Language and Platform Features
  • Program Lifecycle
  • The Java Software Development Kit (JDK)
  • Basic Java concepts and syntax (as needed)
  • LABS: 
    • Hello World:  A Simple Application
    • Basic Java Programming

Class and Object Basics

  • Object-Oriented (OO) Programming Overview
  • The Object Model
  • Classes and Data Members
  • Object References and Creating Objects
  • LABS: 
    • Exploring Types
    • Identity and Object References
    • Defining and Using Classes and Objects
    • Instance Variables

More on Classes and Objects

  • Working with Methods and Data, Method Overloading
  • Access Protection, public and private Access
  • Constructors and Initialization
  • static (or Class) methods
  • Garbage Collection, the finalize() Method
  • LABS: 
    • Using Methods and Encapsulation
    • Writing and Using Constructors
    • [Optional] Static Members
    • Using the Debugger

Flow of Control

  • Branching Statments
    • logical operators
    • if-else, switch,
  • Iteration Statements
    • while, do-while, for
    • break and continue
  • LABS: 
    • Flow of Control, Data Validation

Strings and Arrays

  • String, StringBuffer, and StringBuilder
  • Arrays
  • LABS: 
    • Using Strings and Arrays

Packages - Managing Complexity

  • Packages Overview - Using packages to organize code
  • import Statement
  • Creating Packages, and Package Directory Structure
  • Classpath and Finding Classes
  • LAB: Using Packages to Organize Code

Composition and Inheritance

  • Using Composition to Create complex classes
  • Composition/HAS-A, Delegation
  • Using Inheritance to Derive Specific Types From General Types
  • Overriding Methods, Using Polymorphism
  • Class Object
  • Abstract Classes
  • LABS:
    • Using Composition
    • Using Inheritance to Specialize Classes

 Overview of Additional Concepts

  • Interfaces
  • Exceptions
  • JDBC
  • Collections Framework
  • Java 6 - What's New
Home | About LearningPatterns | Our Services | Legal | Contact Us