Intro & Adv. : Java Programming


Course Description:

This course teaches students how to develop Java applications. Topics covered include the Java programming language syntax, OO programming using Java, exception handling, file input/output, threads, collection classes, and networking. Students will develop and test Java applications (typically) using Eclipse. This course is a per-requisite to all Application Server courses, and specialty Java Technology courses such as Struts, Spring, and Hibernate.

Who should attend this course?

This course is designed for applications programmers and designers planning to develop applications using the Java Virtual Machine.


No need for any previous programming experience. However, familiarity with previous C or C++ or any object oriented programming knowledge is a plus to the student, but not required.

Benefits of Attendance:

· Compile and run a Java application.

· Understand the role of the Java Virtual Machine in achieving platform independence.

· Navigate through the API docs.

· Use the Object Oriented paradigm in Java programs.

· Understand the division of classes into Java packages.

· Use Exceptions to handle run time errors.

· Select the proper I/O class among those provided by the JDK.

· Use threads in order to create more efficient Java programs.

Course Outline:

· Introduction

o What is Java?

o History

o Version

o The Java Virtual Machine

o Writing a Java Program

o Packages

o Simple Java Programs

· Language Components

o Primitive Data Types

o Comments

o The for Statement

o The if Statement

o The while and do while Statements

o The switch Statement

o The break Statement

o The continue Statement

o Operators

o Casts and Conversions

o Keywords

· Object-Oriented Programming

o Defining New Data Types

o Constructors

o The String Class

o String Literals

o Documentation

o Packages

o The StringBuffer Class

o Naming Conventions

o The Date Class

o The import Statement

o Deprecation

o The StringTokenizer Class

o The DecimalFormat Class

· Methods

o Introduction

o Method Signatures

o Arguments and Parameters

o Passing Objects to Methods

o Method Overloading

o Static Methods

o The Math Class

o The System Class

o Wrapper Classes

· Arrays

o Introduction

o Processing Arrays

o Copying Arrays

o Passing Arrays to Methods

o Arrays of Objects

o The Arrays Class

o Command Line Arguments

o Multidimensional Arrays

· Encapsulation

o Introduction

o Constructors

o The this Reference

o Data Hiding

o public and private Members

o Access Levels

o Composition

o Static Data Members

· Inheritance & Polymorphism

o Introduction

o A Simple Example

o The Object Class

o Method Overriding

o Polymorphism

o Additional Inheritance Examples

o Other Inheritance Issues

· Abstract Classes and Interfaces

o Introduction

o Abstract Classes

o Abstract Class Example

o Extending an Abstract Class

o Interfaces

· Exceptions

o Introduction

o Exception Handling

o The Exception Hierarchy

o Checked Exceptions

o Advertising Exceptions with throws

o Developing Your Own Exception Classes

o The finally Block

· Input and Output in Java

o Introduction

o The File Class

o Standard Streams

o Keyboard Input

o File I/O Using Byte Streams

o Character Streams

o File I/O Using Character Streams

o Buffered Streams

o File I/O Using a Buffered Stream

o Keyboard Input Using a Buffered Stream

o Writing Text Files

· Threads

o Threads vs. Processes

o Creating Threads by Extending Thread

o Creating Threads by Implementing Runnable

o Advantages of Using Threads

o Daemon Threads

o Thread States

o Thread Problems

o Synchronization

· Collections

o Introduction

o Vectors

o Hashtables

o Enumerations

o Properties

o Collection Framework Hierarchy

o Lists

o Sets

o Maps

o The Collections Class

· Networking

o Networking Fundamentals

o The Client/Server Model

o InetAddress

o URLs

o Sockets

o A Time-of-Day Client

o Writing Servers

o Client/Server Example

Share this page!