Java Programming Series:

Java Programming Fundamentals (CIWJAVAF)

Java Programming Fundamentals is a five-day course designed to teach students how to write Java applications and applets in Java 2. Students will learn the Java language mechanics found in other programming languages and object-oriented theory as it relates to Java. They will create Graphical User Interfaces (GUIs) for both applications and applets and implement the SDK 1.2 event delegation model to practical situations. Students will also complete a course-long project to create an operational client/server messaging system. This course prepares students for the Sun Certified Programmer Examination by providing reviews and examples relative to the exam.

Target Audience

Database developers, Internet application developers, database architects, middleware programmers, database administrators, Java developers, and client/server developers.

Job Responsibilities

Develop n-tier database and legacy connectivity solutions for Web applications using Java, Java APIs, Java Database Connectivity solutions, middleware tools, and distributed object models such as CORBA/ORB and IIOP.

Prerequisites

Students must have CIW Foundations and CIW Application Developer certification or equivalent experience, and have a solid working knowledge of a programming language such as C, Pascal, or C++.

Topics

Java Runtime Environment

  • Java Virtual Machine
  • Java 2 Software Development Kit

Data Types, Variables, Operators

Control Statements

  • Code Blocks and Conditional Statements
  • Iteration (Loop) Statements

Methods

  • Methods
  • Return Statements and Calling Methods
  • Parameters, Pass by Value and Overloading

Arrays

  • Initializing and Using Arrays
  • Objects
  • Passing an Array to a Method
  • Garbage Collection
  • Command Line Parameters

Classes and Objects

  • Object-Oriented Programming
  • Instance and Class Members
  • Abstraction
  • Object References

Inheritance

  • What Is Inheritance?
  • Overriding Methods

Constructors

  • Constructor Processes
  • Constructors and Callbacks
  • Strings and StringBuffer

Interfaces and Abstract Classes

  • Interfaces and Polymorphism
  • Abstract Classes

Packages and Access Modifiers

  • Java 2 API
  • Information Hiding and Encapsulation

Swing Components

  • AWT
  • Swing and Basic Swing Components
  • JavaBeans

Layout Managers

Graphics in Java

  • Graphics Class

The Delegation Model

  • Events
  • JDK 1.0 and SDK 1.2 Event Handling

Inner Classes

  • Inner Classes for Event Handling

Applets

  • Applets and Web Browsers
  • Converting Applications into Applets
  • Converting Applets into Applications

Exceptions

  • When Bad Things Happen to Good Programs
  • Creating and Throwing Exceptions
  • Exception Handling Tips

Creating Threads and Thread Methods

  • How Operating Systems Handle Multitasking
  • Creating Threads and Thread Methods

Synchronization

  • Thread Synchronization and Racing
  • Synchronized and the Object Monitor
  • Thread Race Conditions
  • Sophisticated Thread Synchronization
  • Stopping, Suspending and Resuming Threads
  • Deadlocks

Streams and Serialization

  • InputStream, OutputStream, Reader and Writer
  • Stream Classes of java.io.*
  • Serialization

Networking

  • Networking Classes of java.net.*
  • The Java Client/Server Model
  • Building an EchoServer
  • Multithreading Client/Server Examples