Here are some links that may be of use as references. Some may become stale; please let me know if they do by sending email to jpaley@pausd.org.
Technical Stuff
Let's face it. People, when they ask about a programming class, want to know what language is being taught. While the question is reasonable, my own feeling is that learning how to program in general is the right idea. Then you can learn whatever language you want as needed.
The fact is that it isn't quite that simple (even though I maintain it is a good idea). One of the more annoying things about programming languages is finding good, concise documentation on libraries and nuances so you know what operations can be carried out on a given data type. The presentation methods are very different for the various links, below, but my belief is that they are all readable.
- Whence Java? Sun Microsystems. It only makes sense that there would be good tutorials at http://java.sun.com. My impression is that a little bit of programming experience helps in doing the tutorials, but when I say "little bit" I mean just that. You don't need to have 10 years of programming experience to make sense of the introductory stuff, and a few months of experience may well suffice for some of the more advanced stuff. If you feel uncomfortable with your understanding of Java, this is a great place to catch up.
- This is where you can find documentation on Java. There's lots of it, and it is quite well done. (It's hard to say that about a lot of documentation.)
- If you want specifics about version 1.4.2 of the Java 2 Standard Edition (J2SE), here's the place to go. This is a very rich source of information on Java packages.
- Rich Kick's SIGCSE 2003 presentation stuff has an incredible wealth of Java and HTML information. His Java Resources link is superb.
- http://publicstaticvoidmain.org/ is a nice site wit a variety of tools and ideas for those studying Java.
- Karel J Robot is a nice way to get an introduction (and then some) to Java.
- A really nice resource for learning Java can be found at Dave Wittry's web site at Troy.
- Allen Downey's "How to Think Like a Computer Scientist" is a pretty nice online book, too. The best thing is that the language is fairly easy to read as opposed to many Java texts. And you can download it if you insist upon putting it in printed form.
- This is not so much a technical reference as it is a nice use of Java to present mathematics. Jacobo Bulaevsky's Arcytech web site is worth a look.
- Binky explains pointers. You have to see it, I think. (Thanks to Andrew Lipkin for pointing out this beauty.)
Performance/Optimization Stuff