Java Programming

This course provides an introduction to the Java language and platform

Modules

1. Java Concepts

The basic concepts of the Java language and platform are treated

1.1. What is Java ?
History, Properties, Java Virtual Machine, Garbage Collection, Code Security

1.2. Java vs C++
Similarities and Differences between Java and C++

1.3. Getting Informed
Books, Magazines, E-Zines, FAQs, Links, Sites

1.4. OOD and OOP Principles
Basics of object-orientation, classes, objects, inheritance, containment, delegation

2. Getting Started with Java

Java Development Kit (JDK) and building your first application and applet.

2.1. JDK Environment
Versions, Installation, JDK package overview

2.2. Java Jumpstart
Hello World, Defining a Class, The main() Method, command line arguments, Using the System and PrintStream Classes, Standard Input and Output Streams, Introduction to Graphical User Interfaces (GUI), Applet intro, comments

3. Java Language Basics

Treats the core Java language elements.

3.1. Variables
basic types, class types, initialization, lifetime

3.2. Operators and Expressions
operators, expressions, casting

3.3. Flow of Control
branching, looping

3.4. Classes and Objects
Declaration, Construction, Initialization, Finalization, Method overloading, Inheritance, Instance Members, Class Members, Access control, Method overriding, Casting, Packages Base classes in java.lang and java.util

3.5. Packages and modifiers
Packages, files, modifiers

3.6. Casting and converting
cast, convert, promote

3.7. Arrays
declaration, creation, initialization, multi-dimensional arrays, array bounds, copying, arrays vs String, anonymous arrays

3.8. Interfaces
Interfaces as types, multiple interface inheritance, interface attributes

3.9. Inner Classes
Nested top-level classes, Member classes, Local classes, Anonymous classes

4. Essential Java Classes

Treats core JDK classes.

4.1. String and StringBuffer
Using strings in Java with the String and StringBuffer classes.

4.2. The java.lang.Math class
Trigonometry, Randomness, Decimal Chopping, Logarithmics

4.3. Exceptions
statements (throws, try, catch, finally), hierarchy, polymorphism, propagation

4.4. Container classes in JDK1.1
Vectors, Hashtables, Enumerations, Stack, Properties

4.5. Collection classes in JDK2
Collection framework, interfaces, implementations, algorithms, general-purpose collection implementations

4.6. Input/Output
java.io stream fundamentals, basic stream classes, readers and writers, files, random access files, serialization, Stream Tokenizer

4.7. Threads
Multithreading fundamentals, thread lifecycle, synchronization (synchronized keyword) , thread interaction (wait()/notify())

4.8. Accessing System Resources
Using the System class, standard I/O streams, accessing System Properties, the Runtime object

5. CASE - Library

This case explores the basics of the Java Language and essential Java classes.

5.1. CASE - Library Basic
Build a simple library system using the knowledge from the basic Java modules.

6. Programming with the Java AWT

Treats building user interfaces with the core JDK Abstract Windowing Toolkit (AWT).

6.1. AWT - Overview
java.awt structure, Containers and Components, Event model, Components, Drawing, Printing, AWT and Swing

6.2. AWT - Event Handling
Delegation Event Model, Sharing a Listener Object Among Visual Components, Low-level and Semantic Events

6.3. AWT - Components
Overview, Container, Panel, Canvas, Window, Frame, Button, Checkbox, Choice, List, TextField, TextArea, Label, Dialog, Scrollbar, Ordinary Menus, Checkbox Menus, Popup Menus

6.4. AWT - Layouts
Placing Components in Containers, Absolute Coordinates, BorderLayout, FlowLayout, GridLayout, CardLayout, GridBagLayout

6.5. AWT Graphics
Getting Started, Graphics and Colors, Utility Methods, Shapes, Fonts, Images

6.6. AWT - Labs
This lesson provides the labs for the lessons: Overview, Events, Components, Layouts, Graphics

7. Applets

Treats building applets.

7.1. Applets
Key methods, Lifecycle, HTML tags, Appletviewer, Parameter passing, security.