Course Description For Course Number: JF101
You will learn how to
  • Build robust console and GUI applications using Java's object-oriented features
  • Design flexible object models using object-oriented principles
  • Create robust applications using Java class libraries
  • Organize complex data using Java collections
  • Develop platform-independent GUIs
 
Hands-On Experience Includes
  • Developing an object-oriented model with UML notation
  • Creating Java objects and calling their methods
  • Structuring data with the Java collections API
  • Developing platform-independent user interfaces
  • Creating portable GUIs with Swing components
  • Adding event handling to GUIs
 

Introduction to Java Programming

  • Stand-alone applications and servlets
  • Compiling source code into bytecode
  • Overview of class libraries

Object-Oriented Programming with Java

The object paradigm

  • Encapsulation, inheritance and polymorphism
  • OO analysis and design: "Is a" and "Has a"
  • Designing an OO application step by step
  • Diagramming object structure with Unified Modeling Language (UML)

Java's object-oriented features

  • Instantiating objects from classes
  • Aggregation and composition
  • Extending existing classes
  • Overloading and overriding methods

Structure of the Java Language

Language syntax

  • Declaring and initializing variables
  • Declaring and using arrays
  • Upcasting, downcasting and autoboxing

Flow control

  • Invoking methods and passing parameters
  • Conditionals and loops
  • Handling exceptions with try and catch

Defining classes

  • Fields (instance data)
  • Methods (functions)
  • Abstract classes and interfaces
  • Organizing classes with packages and modifiers
  • Composition vs. inheritance

Working with Relational Databases

JDBC database access

  • Leveraging the JDBC API
  • Choosing database drivers
  • Connecting to a database

Building the components of a Java program

  • Leveraging generics with the collections API
  • Developing new classes
  • Compiling and debugging

Developing GUIs

Foundations of user interfaces

  • Basic GUI widgets
  • Event-driven programming
  • Benefits of a portable windowing library

Java Foundation Classes (JFC)

  • Creating Swing components
  • Adding Swing components to containers
  • Arranging Swing components using layout managers
  • Dialogs and message boxes

Event handling

  • Registering event handlers
  • Inner classes and top-level classes

Storing and Retrieving Data with File I/O

Java streams

  • Streams, Readers and Writers
  • Catching and throwing exceptions
  • Formatting text output

Files and directories

  • Reading and writing files
  • Creating, deleting and renaming files
  • Obtaining directory and file information

Improving performance with prepared statements and stored procedures

  • Submitting SQL statements
  • Retrieving and processing results

Java Development Tools

  • Java Development Kit (JDK)
  • Compiler (javac)
  • Javadoc utility
  • Java Archive (JAR) utility
  • Java Integrated Development Environments (IDEs)