zero said:
A lot depends on your audience. Do they have a background in OOAD? Do
they know other OO languages, or non-OO languages?
Deitel & Associates, Inc. (
www.deitel.com) has a lot of teacher's
resources, including lecture slides, examples and student files. Sun's
Java site (java.sun.com) has a lot of online tutorials, some of which can
be downloaded for offline viewing. My suggestion would be to first think
about what you need in respect of what your students already know, and
then
search for appropriate material online.
I agree with zero on this.
Two 3-hour sessions on Java is not very much at all. A proper course to
teach Java thoroughly would probably run for a week at the very least,
probably several weeks, assuming the student had no previous programming
experience. You can't cover very much ground at all in six hours....
I'm a very big believer in exercises to reinforce knowledge. I rarely
understand things until I've had a chance to apply them and I've found
that this applies to many other students as well. (I've spent years
earning the bulk of my income from teaching computer courses.) But with
only six hours at your disposal, I think you'll want to choose your
content very carefully and exercises are probably not going to be a top
priority.
What to choose for your course really depends on what the purpose of the
course is.
_IF_ the students are simply attending your course to get an overview of
Java and will _definitely_ have a much longer course afterwards covering
Java thoroughly, then you would probably be best to present basic OO and
Java concepts to give them a good foundation for the follow-on course.
Time permitting, you could even have a short exercise where they write,
compile and execute a Hello World program or something not much more
sophisticated.
However, _IF_ your students are going to decide whether to take the
follow-on course based on your course, things get trickier. Then you
probably need to make an effort to "sell" the follow-on course with your
course. You'll need to excite them about Java and show them all the
magical things it can do without giving them a dishonest picture of the
language. (You don't want to tell them that it is the easiest language in
the world, that they will be able to write sophisticated, well-designed
programs the first day, or other such nonsense.) But you can highlight
Java's many excellent features, the concept of WORE (Write Once Run
Everywhere) [although you may want to warn them that some platform
differences will likely still have to be addressed], the wealth of slick
developer tools for Java, the greatly improved performance since the early
days of Java, and so forth. You can also demonstrate some of the better
programs and tools for Java and mention that Java programs can take the
form of applets, applications, servlets, midlets, etc. Again, a simple
exercise that develops a Hello World program would be a nice capper to the
course so that they can see that a simple application can be done easily
in Java.
But _IF_ your course is actually supposed to pretend to teach some
appreciable amount of the Java language to people who are new to Java, or
maybe to programming in general, I think it is time for a major reality
check. You simply can't do that in 6 hours under any circumstances I can
conceive. Java is too complex to teach any major chunk of it in 6 hours.
Period. Now, you could possibly teach the basic statements, like 'if' and
'while' and so forth, as well as the operators and the primitive datatypes
in 6 hours but I doubt that would do students much good: your students
would still need to have some concept of Objects and Classes to do much of
anything with the statements and operators.