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 5th session started on Feb. 11th, 2008. The advanced topics are covered in the Advanced Java programming course.  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.  You need submit homeworks only for the topics that have dates.  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
    11. J2SE 5.0 Features
 
After you are done with this course, you are ready to take the following advanced Java programming courses.


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


Class Related Information



Prerequisites

Software needed


OS platforms you can use to take this course