Free Java Programming with Passion!  Online Course

 Sang Shin, sang.shin@sun.com, Sun Microsystems, www.javapassion.com
From September 22nd, 2006:




Message to potential attendees



The 4th session started on August 15th, 2007.  Just like other online courses I teach, this course is offered online only.   Just to set the expectation correctly, there is no real-time webcasting.  The dates specified are mostly for helping people self-pace themselves.

Graduates of this course


How do I get started?  What is it like to take this course?


 Since some people who are taking this online course for the first time are wondering on how to get started and what it is like to take my online courses, I decided to clarify them a bit right here.  Taking this course is simple.  Basically you do the following:

How to register for this course

In order to register for this course, all you have to do is sending a blank email to the following email alias.  

Basically, when you send a blank email to the above, you are subscribing our new class alias (javaprogrammingwithpassion@googlegroups.com).  The postings to this alias can be seen from class forum.


If you have any further questions...



For further questions, please see course FAQ below.  Please see the FAQ before posting questions or sending an email directly to me.


Basic Topics and Schedule

Only the topics that have dates will be covered as part of the course.  The contents of the other topics will be provided whenever possible.
    1. Getting started
    2. Learning the basics of Java language
    3. Classes and Objects
    4. Object-Oriented Programming (OOP) concepts
    5. Learning the advanced features of Java language
    6. IDE
    7. Collections framework
    8. GUI programming
    9. I/O & Networking & Database
    10. Threading
I removed JDBC from this course since it is being addressed in Java EE course.  Nov. 19th, 2007 - Sang Shin.

Advanced Topics

    1. J2SE 5.0 Features
    2. Security
    3. Performance
    4. Management and Monitoring
    5. Modeling
    6. Testing and debugging
    7. Java Design patterns
    8. Java SE 6 Features
    9. Hot technologies
 

Introduction to Java technology (jedi, 1.02)


                                                                                                                            return to topics


Getting to know your Java programming environment (jedi, 1.03)


                                                                                                                            return to topics


Java programming basics (jedi, 1.04)


                                                                                                                            return to topics


Getting input from keyboard (jedi, 1.05)


                                                                                                                            return to topics


Control Structure (jedi, 1.06)


                                                                                                                            return to topics


Java Array (jedi, 1.07)


                                                                                                                            return to topics


Command-line arguments (jedi, 1.08)


                                                                                                                            return to topics



Working with built-in Java classes (jedi, 1.09)


                                                                                                                            return to topics


Tour of java.lang.* and java.util.* classes (jedi, 2.04)


                                                                                                                            return to topics

Creating your own classes (jedi, 1.10)


                                                                                                                            return to topics

Packages and Java Classpath


                                                                                                                            return to topics

JavaBeans


The JavaBeans architecture is based on a component model which enables developers to create software units called components. Components are self-contained, reusable software units that can be visually assembled into composite components, applets, applications, and servlets using visual application builder tools. JavaBean components are known as beans.
                                                                                                                            return to topics

Inheritance


Inheritance is one of the most important OO concept along with encapsulation and polymorphism.  Basically it allows reuse of the code since a sub-class (child class) can readily use the properties and methods defined in the super class (parent class). 
                                                                                                                            return to topics

Abstract class and Java Interface


Java interface is one of the basic yet the most important language features of Java programming language.  Having a good command on Java interface will help you build better Java applications.
                                                                                                                            return to topics

Polymorphism


                                                                                                                            return to topics


Inner class (jedi, 1.11)


                                                                                                                            return to topics

Exception Handling


                                                                                                                            return to topics

Logging



                                                                                                                            return to topics

How to Use NetBeans Effectively


                                                                                                                            return to topics


Java Collections Framework



                                                                                                                            return to topics

Swing



                                                                                                                            return to topics

Advanced Swing



                                                                                                                            return to topics

NetBeans GUI Builder (Matisse)



                                                                                                                            return to topics

Stream I/O



                                                                                                                            return to topics

Serialization



                                                                                                                            return to topics

Networking API


                                                                                                                            return to topics

RMI


                                                                                                                            return to topics


Threading Basics




                                                                                                                            return to topics


JDBC



                                                                                                                            return to topics

Java Database (Derby)



                                                                                                                            return to topics

J2SE 5.0 Language Features Enhancements



                                                                                                                            return to topics


J2SE 5.0 Generics 


                                                                                                                            return to topics

J2SE 5.0 Annotations



                                                                                                                            return to topics

J2SE 5.0 Concurrency



                                                                                                                            return to topics


Java Security

                                                                                                                            return to topics


Java Performance Tips



                                                                                                                            return to topics

Application Profiling on Memory Usage



                                                                                                                            return to topics

Application Profiling on Performance



                                                                                                                            return to topics

JMX


                                                                                                                            return to topics

Java SE monitoring and debugging tools


                                                                                                                            return to topics

UML


                                                                                                                            return to topics

JUnit Testing framework


                                                                                                                            return to topics

Debugging Java Applications


                                                                                                                            return to topics

Java Design Patterns


                                                                                                                            return to topics

Java SE 6 Features Overview

                                                                                                                            return to topics

Java SE 6 Scripting


                                                                                                                            return to topics

Concurrency in Swing and SwingWorker

                                                                                                                            return to topics


Beans Binding


                                                                                                                            return to topics

Class Related Information



Prerequisites

Software needed


OS platforms you can use to take this course