Welcome to Outsource Laboratories
Home
News
Courseware
Training
Publishing
Customer
Service
About
Us
Contact
OLabs
Site Map

Quick Links:

Book Catalog
Java Coursemap
Courseware List
Course Curriculum
Request Info/Copy
Provide Feedback
Place an order
 

 

Welcome Pages for:  Educators  |  Students   |  Corporate Training   |  Instructors   |  Authors   |  Resellers  

*OL308: Programming in Java


Course Description:
 
Programming in Java (OL308) presents the main components of the Java programming language using Java 2. Topics include object-oriented concepts, Java development environment, Java syntax and constructs, APIs and class development, applets, exception handling, threads, networking and communication, graphics and GUI development.
 

 
Course Objectives:
 
At the end of this course, students will be able to:
 
  1. Understand the main components and features of Java 2.
  2. Implement object-oriented concepts using Java.
  3. Use Java multi-threading and exception handling features.
  4. Develop graphic and GUI components using AWT and Swing.
  5. Use Java for client-side applets.
  6. Develop networking and communication applications.

 


Duration: 5 days
 

 
 
Who Should Take This Course:
 
Programmers with sound experience in structured programming who would like to explore the potential of Java language and those who would like to make a quick transition from their current programming paradigm to Java.
 
Some programming experience in a higher-level structured language like C is essential. Familiarity with C++ or object-oriented concepts will be useful but not required. This course is a prerequisite for most of our Java programming topics.
 
 

Cost:  U.S $1575 per student
          UK
 £995 per student
 
           Review Australian Pricing   
           

This Course Includes:

This hands-on course is composed of comprehensive lectures, practical project illustrations, and independent programming sessions. The presentation is led by highly qualified and experienced instructors, trained in application development and instructional techniques. Multi-tiered, hands-on exercises are incorporated into each lesson. All student materials and appropriate equipment are provided.

 
Course Outline for Programming in Java
Units:
  1. Java Concepts, Syntax, Constructs & Tools
  2. Object Orientation
  3. Object Oriented Programming in Java
  4. Data Structures and other useful classes
  5. Exception Handling
  6. Java Input and Output
  7. Multi-Threaded Programming
  8. The AWT: Simple Graphics
  9. The AWT: Graphical User Interfaces
  10. The AWT: Event Handling
  11. The JFC and Swing
  12. Java Applets
  13. Java Networking
Unit 1: Java Concepts, Syntax, Constructs and Tools
  • Objectives
  • The Java Programming Language
  • Features of Java
  • Java Application Development Cycle
  • Java Programs
  • By the end of this course...
  • Lab Exercise 1-1: Compilation and Execution
  • Lexical Issues
  • Lab Exercise 1-2: Commenting and javadoc
  • Java Keywords
  • Data Types
  • Operators
  • Lab Exercise 1-3: Variables and Operators
  • Casting and Conversions
  • Selection (Conditional) Statements
  • Lab Exercise 1-4: Conditional Statements
  • Iterative (Looping) Statements
  • Lab Exercise 1-5: Looping Statements
  • Direct Branching Statements
  • Exception and Exception Handling Statements
  • Java Development Kit Tools Reference
  • Unit Review Questions
Unit 2: Object Orientation
  • Objectives
  • Motivation
  • Procedural Programming
  • The Solution?
  • Object Oriented Terminology
  • Classes and Objects
  • Methods
  • Method and Attribute Visibility
  • Instantiation
  • Abstraction
  • Encapsulation
  • Inheritance and Derivation
  • Inheritance Example
  • Instantiation Revisited - Inheritance Considered
  • Multiple Inheritance Example
  • Abstract Classes and Abstract Methods
  • Constructors and Destructors
  • Review Exercise 2-1
  • Unit Review Questions
Unit 3: Object Oriented Programming in Java
  • Objectives
  • Java Program Structure
  • Packages
  • Importing Classes from Packages
  • Lab Exercise 3-1: Compiling Java Classes (optional) 
  • Java Classes
  • Java Class Examples
  • Instance Variables (Object Attributes)
  • Lab Exercise 3-2: Instance Variables
  • Instance Methods (Methods)
  • Lab Exercise 3-3: Instance Methods
  • Constructors
  • Constructors Example
  • Lab Exercise 3-4: Constructors
  • Class Instances (Objects)
  • The dot “.” Operator
  • Special Instance Variables
  • Review Exercise 3-1: The this Reference
  • Special Instance Method: this(…)
  • Special Instance Method: super(…)
  • Review Exercises 3-2: Constructors
  • Review Exercises 3-3: Inheritance
  • The static Modifier: Class Variables
  • The static Modifier: Class Methods
  • The static Initializer
  • Lab Exercise 3-5: Class Members
  • Modifiers: Access Specifiers
  • Other Modifiers
  • Polymorphism
  • Method Overloading and Overriding
  • Review Exercise 3-4: Polymorphism, Method Overloading and Overriding
  • Casting
  • Variable Scoping Rules
  • Abstract Classes
  • Lab Exercise 3-6: Abstract Classes (optional)
  • Interfaces
  • The instanceof Operator
  • Interfaces Summary
  • Interfaces vs. Abstract Classes
  • Parameter Passing
  • Review Exercise 3-5: Parameter Passing
  • Object References and the == Operator
  • Arrays
  • Stand-alone Java Applications
  • Lab Exercise 3-7: Compiling and executing
  • The java.lang.System Class
  • The java.lang.Runtime Class
  • The java.lang.Math Class
  • The java.lang.String Class
  • The Wrapper Classes
  • Lab Exercise 3-8: Multi-Dimensional Arrays (optional)
  • Unit Review Questions
Unit 4: Data Structures and other useful classes
  • Objectives
  • What are Data Structures?
  • Java Data Structures
  • The Vector Class
  • Selected Methods from the Vector Class
  • Vector Class Example
  • Lab Exercise 4-1: Vector Insertions and Deletions
  • Lab Exercise 4-2: Vectors and Casting (optional)
  • The Hashtable Class
  • Selected Methods from the Hashtable Class
  • Hashtable Class Example
  • Enumerating Values of a Data Structure
  • Enumeration Interface Example
  • Lab Exercise 4-3: Enumeration of Vectors and Hashtables
  • Data Structures in Java 2
  • Run-time Type Information: The Class Class
  • Selected Methods from the Class Class
  • Class Class Example
  • Object Cloning
  • Lab Exercise 4-4: The Collections Packages (optional)
  • Unit Review Questions
Unit 5: Exception Handling
  • Objectives
  • What is an Exception?
  • Sample Exception and Error Classes
  • Java Exception Hierarchy
  • Lab Exercise 5-1: Java Exceptions
  • How Java handles Exceptions
  • Exception Handling vs. Traditional Error-Handling
  • Java’s Catch or Specify Requirement
  • Exception Handler Example
  • The Throwable Class
  • The try Block
  • Another Exception Handler Example
  • The catch Block(s)
  • Catching Multiple Exceptions
  • The finally Block
  • Propagating Exceptions
  • Propagating Exceptions Example
  • Lab Exercise 5-2: Catching Exceptions
  • User-Defined Exceptions
  • Overriding Methods
  • Lab Exercise 5-3: Catching Exceptions 2
  • Unit Review Questions
Unit 6: Java Input and Output 
  • Objectives
  • Byte Streams vs. Character Streams
  • Decorator Design Pattern
  • Decorators in Java I/O Streams
  • Reading Strings from the Standard Input
  • Lab Exercise 6-1: Reading from STDIN
  • Writing to the Standard Output
  • File I/O
  • Lab Exercise 6-2: Reading and Writing Files
  • Stream Tokenizer
  • Stream Tokenizer Example
  • Other java.io Classes: File
  • Other java.io Classes: RandomAccessFile
  • Serialization
  • Serialization Example
  • Lab Exercise 6-3: Object Serialization
  • Lab Exercise 6-4: Reading & Writing Files (optional)
  • Unit Review Questions
Unit 7: Multi-Threaded Programming
  • Objectives
  • What is a Thread?
  • Threads in Reality
  • Single vs Multi-threaded Applications
  • The Thread Class
  • Thread States
  • Creating Threads in Java
  • Technique 1: Subclassing the Thread class
  • Technique 2: Implementing the Runnable Interface
  • Technique 3: Using Inner Classes – Member Classes
  • Technique 4: Using Inner Classes – Anonymous Classes
  • Lab Exercise 7-1: Creating Threads
  • Lab Exercise 7-2: Using Threads
  • Thread Synchronization
  • The synchronized Modifier
  • The synchronized Modifier: An Example
  • Thread Synchronization: An Example
  • Lab Exercise 7-3: Lack of Synchronization
  • Lab Exercise 7-4: Thread Synchronization
  • Unit Review Questions

Unit 8: The AWT: Simple Graphics

  • Objectives
  • The Abstract Windowing Toolkit
  • The Graphics Class
  • The Canvas Component
  • The AWT Coordinate System
  • The Graphics Class – Line Drawing
  • Lab Exercise 8-1: Using the Graphics Class – Line Drawing
  • The Color class
  • Lab Exercise 8-2: Using the Graphics Class
  • Drawing Strings
  • Lab Exercise 8-3: Drawing Strings
  • Drawing Images
  • Lab Exercise 8-4: Drawing Images
  • Animated Graphics
  • Lab Exercise 8-5: Simple Animation
  • Back Buffering
  • Back Buffering Example
  • Unit Review Questions
Unit 9: The AWT: Graphical User Interfaces
  • Objectives
  • Event Driven Graphical User Interfaces
  • Java GUI Components
  • Anatomy of a GUI-based Java Application
  • The Java AWT Package
  • The Frame Class
  • The Canvas Class
  • The Panel Class
  • Layout Managers
  • The FlowLayout Manager
  • The BorderLayout Manager
  • The GridLayout Manager
  • Component Layout Using Absolute Coordinates
  • Layout Management – the Mechanism
  • Lab Exercise 9-1: Components and Layouts
  • Labels and Lists 
  • The TextField Class
  • The TextArea Class
  • Choices, Checkboxes, and RadioButtons
  • The Scrollbar Class
  • The ScrollPane Class
  • Pull-Down Menus
  • Lab Exercise 9-2: Menus
  • Unit Review Questions
Unit 10: The AWT: Event Handling
  • Objectives
  • Events and Event Handling
  • The Delegation Event Model
  • The Delegation Event Model: Event Listeners
  • An Inner Class as an Event Listener
  • An Anonymous Inner Class as an Event Listener
  • Handling Events in a Container Class
  • Event Types and Listeners
  • AWT Event Class Hierarchy
  • The KeyEvent Class
  • The KeyListener Interface
  • Lab Exercise 10-1: Key Events
  • Listeners and Adapters 
  • Adapters
  • The InputEvent Class
  • The MouseEvent Class
  • The MouseListener Interface
  • Lab Exercise 10-2: Mouse Events
  • The ContainerEvent Class
  • The WindowEvent Class
  • Lab Exercise 10-3: Closing a Window
  • The ActionEvent Class
  • Lab Exercise 10-4: Action Events
  • The ItemEvent Class
  • The TextEvent Class
  • The AdjustmentEvent Class
  • Unit Review Questions
  • Challenge Lab Exercises
Unit 11: The JFC and Swing
  • Objectives
  • Introduction to the JFC
  • The JFC Architecture
  • Swing Package Overview
  • Swing Components
  • Swing Component Features
  • Features Lightweight Components
  • Hello Swing: A First Swing Application
  • Importing Swing Packages
  • Choosing the Look and Feel
  • Setting Up Windows
  • Setting Up Swing Components
  • Handling Events
  • Supporting Assistive Technologies
  • Lab Exercise 11-1: Using Swing Components
  • Swing Performance
  • Lab Exercise 11-2: Swing Components (optional)
  • Unit Review Questions
Unit 12: Java Applets
  • Objectives
  • Applets
  • Lab Exercise 12-1: The "Hello World" Applet
  • The Major Methods and Life-Cycle of an Applet
  • Stand-alone Applets
  • Setting Applet Parameters in HTML
  • Applet Tag Syntax
  • Retrieving Applet HTML Parameters in Java
  • Retrieving Applet HTML Parameters Example
  • Event Handling and Graphics in Applets
  • Threads in Applets
  • Media Support
  • The AudioClip Interface
  • Lab Exercise 12-2: Playing Sound Files
  • The AppletContext Class
  • Lab Exercise 12-3: Applet Contexts
  • Capabilities and Limitations of Applets 
  • Unit Review Questions
  • Challenge Lab Exercise: The Sketch Applet
Unit 13: Java Networking
  • Objectives
  • Basic Network Concepts
  • The URL and URLConnection Class
  • Sockets
  • UDP vs TCP Sockets
  • UDP Sockets
  • TCP Sockets
  • Lab Exercise 13-1: An On-line Chat System
  • ChatServer.java Source Code
  • ChatClient.java Source Code
  • Unit Review Questions
Appendix A: Answers to Unit Review Questions

Appendix B: Course Examination

Appendix C: Answers to the Course Examination


Home   Courseware   Training   Publishing   Site Map  
Book Catalog   Java Coursemap   Courseware List   Course Curriculum
Welcome Pages for: Educators   Students   Corporate Training   Instructors   Authors   Resellers  
Request Information   Place An Order   Customer Service   Provide Feedback   Contact Us

Outsource Laboratories and Olabs are registered trademarks of Outsource Laboratories.
Java and all Java-based trademarks are registered trademarks of Sun Microsystems.

© 1996-2003 Outsource Laboratories