Custom Search

Object-Oriented Programming with Java

Unfiled

Boston University Corporate Education Center
Training Provided by Boston University Corporate Education Center Technology Course:
Object-Oriented Programming with Java (ITP862)
This is primarily ilt training
instructor led trainingThis class may be available at a classroom in Boston, MA, or at one of these training facilities: Braintree, MABoston, MATyngsboro, MABoston, MAWaltham, MAPeterborough, NH
Contact Boston University Corporate Education Center for more information
Duration:5 days
Training Presented in:English
Object-Oriented Programming with Java

ITP862 - Object-Oriented Programming with Java

Course description
This comprehensive course covers programming and development in the Java language and environment. It supports the Java 2 platform, JRE version 1.3. It is intended for programmers with experience in languages other than Java, who may or may not have any previous Java experience. The course includes a detailed study of the object oriented aspects of Java, with a case study that is carried from analysis and design (presented in UML) to implementation in Java. The course incorporates treatment of the major Java tools including javac, javajar, and javadoc. There are numerous example programs and lab exercises, all of which are fully documented using javadoc. The course is entirely platform independent and targets the Java 2 platform. (Almost all the material applies well to Java 1.1, and differences between the platform versions are highlighted.)

This flexible course design relies on self-contained modules, which are summarized below, and on a careful attention to several possible flows of presentation based on the full course materials. The instructors’ guide provides several suggested timelines for various groups, to help organize a course delivery that will best suit the needs of a given class.

The first module introduces the Java software architecture, including the Java Virtual Machine, Java Runtime Environment, Core API, and the Java Developer’s Kit. Learn to configure a Java development and runtime environment and to use the JDK command-line tools, and learn the basic software development process for Java.

The second module covers the fundamentals of the Java language, focusing on its grammar, data types, and procedural aspects such as flow control (including exception handling) and threads. By the end of the module you are building simple, practical Java classes and applications.

The third module covers Java as an object oriented language. The module includes an optional primer on object oriented methodology and concepts, and then looks at Java as an object oriented implementation language, including classes, construction, visibility, inheritance, polymorphism, interfaces, abstract classes, and type identification. Lab work moves from analysis and design of a case study to implementation as a Java package of several classes including an application class that implements a command-line interface.

The fourth module introduces GUI programming in Java, starting with the Abstract Windowing Toolkit and moving through chapters on layout management, event handling, and Java Applets. The case study introduced in the previous module is expanded considerably, as a GUI interface is connected to the model, custom events and handlers are added to the model, and the resulting application-driven GUI is rewrapped and delivered via JAR file as an applet.

The fifth and final module of the course introduces the Java Streams model. First the delegation-based stream model itself is covered, and successive chapters look at use of this model in raw file I/O operations and finally at Java Serialization. The case study is again expanded, finally to include dump and load of the entire application dataset through serialization.

Who should attend
Students come to the Java language from a wide variety of backgrounds. This course is designed with the flexibility to meet the needs of these different groups:

  • Experienced object oriented programmers, i.e. languages such as C++
  • Experienced non-object-oriented programmers, i.e. languages such as C
  • Programmers who want to learn Java with GUI-building in mind
  • Programmers who want to use Java in server-side or middleware development

Prerequisites
Experience with some programming language other than Java, on any current operating system for which a JVM is available (including all Windows flavors and most Unix flavors). No Java programming experience or reading is required. If you are a C or C++ programmer, you will may find that your natural pace through the course is a little faster than other students'.

What you will achieve

  • Primarily, how to program effectively in the Java language

  • An understanding of the Java software architecture, and the design decisions which make Java software portable, efficient, secure, and robust

  • The ability to configure a simple Java development environment

  • The grammar, data types, and flow control constructs of the Java language

  • An understanding of Java as a purely object oriented language

  • The ability to program GUIs using Java, including using event handling to connect the GUI to an underlying data model

  • An understanding of the structure of streams in Java, plus how to use streams to manage file I/O

  • The ability to use Java Serialization to internalize and externalize potentially complex graphs of objects

What you will learn

  • Module 1: The Java Software Architecture

    1. The Java Virtual Machine
      - Overview of Architecture
      - Java Virtual Machine
      - Java Runtime Environment
      - The Core API
      - Java Developer’s Kit
      - Portability and Efficiency
      - Security
      - Robustness - Language Features

    2. Building Java Software
      - Packages
      - Tools
      - JARs
      - Security Model

  • Module 2: The Java Language

    1. Fundamentals
      - Source File Format
      - Intro to Classes
      - Fields and Methods
      - Code Grammar and Expressions
      - Identifiers
      - Operators
      - System Class

    2. Data Types
      - Primitive Types
      - Type Conversion
      - Object References
      - Comparing and Assigning References
      - Garbage Collection
      - Strings
      - Arrays

    3. Flow Control
      - Call and return
      - Conditional Constructs
      - Looping Constructs
      - Exceptions

    4. Threads
      - Java Thread Model
      - Creating and Running Threads
      - Manipulating Thread State
      - Creating Thread Classes
      - Thread Synchronization

  • Module 3: Object-Oriented Java Programming

    1. Object-Oriented Analysis and Design
      - Complex Systems
      - Abstraction
      - Classes
      - Responsibilities and Collaborators
      - Relationships
      - Visibility
      - Simple UML
      - Polymorphism

    2. Encapsulation in Java
      - Java Classes
      - Member Visibility
      - Static Members
      - Constructors and Finalizers
      - Overloading Methods
      - Collection Classes

    3. Inheritance and Polymorphism in Java
      - Extending Classes
      - Superclass Reference
      - Overriding Methods and Polymorphism
      - Defining and Implementing Interfaces
      - Abstract Classes
      - Type Identification

    4. Inner Classes
      - Motivation
      - Named Inner Classes
      - Outer Object Reference
      - Anonymous Inner Classes

  • Module 4. Java Graphical User Interfaces

    1. The Abstract Windowing Toolkit
      - Components
      - Containers
      - Frames
      - Controls
      - Menus
      - Dialogs

    2. Layout Management
      - LayoutManager Interface
      - Implicit Use of LayoutManager
      - Standard Layout Managers
      - Custom Layout Managers

    3. Events
      - Java Event Model
      - Event Types
      - Listeners
      - Sources
      - Connections
      - Custom Event Types

    4. Applets
      - Applet Class
      - Applet Context
      - Applet Security
      - Distribution Using JARs

  • Module 5. Java Streams

    1. The Java Streams Model
      - InputStream and OutputStream
      - Delegation-Based Stream Model
      - Media-Based Streams
      - Filtering Streams

    2. Working with File Systems
      - File Class
      - Modeling Files and Directories
      - Chaining Streams to Files
      - Input and Output

    3. Java Serialization
      - Serializable Interface
      - ObjectInputStream and ObjectOutputStream
      - Introduction to Reflection
      - The Serialization Engine
      - Transients and Initialization Hooks

 
Boston University Corporate Education Center, operated by TechSkills LLC
72 Tyng Road | Tyngsboro, MA 01879 | 1.800.288.7246
Copyright © 1997 - 2007 Boston University Corporate Education Center
 
About The Training Provider: Boston University Corporate Education Center
Boston University Corporate Education Center - The Boston University Corporate Education Center (BUCEC) offers award-winning training in information technology, management, and professional education programs. Choose from a wide variety of training formats such as on-site training at your organization, e-learning, and a global network of locations. MANAGEMENT PROGRAMS : We have more than 55 professional management seminars to...
Advertise With Us
Are you a java-track trainer?
This page was last updated on sb5- 08/30/08 at 10:20:22 - 16:01:56