WilliamGrosso wrote: ''.. I'm teaching a course on Java in the spring (and again, in the summer). And UnitTest''''''s have made it onto the syllabus, as has constant refactoring ..'' And DavidMcNicol responded ''I've just started teaching two evening classes, Java for Beginners and Java for Programmers. The beginners class is going well, but the previous tutor's notes for the programmers course are terrible, and though I tried to put a nice spin on them, I felt my students were a little disappointed after the first class.'' ''The good news is that I completely re-wrote the second class to deal with _my_ way of thinking about OO and Java, and it went great - they don't know it yet but they're learning patterns and a bit of refactoring too.'' ''Anyway, I'm leaving this note because I'd be really interested to hear how you are thinking of dealing with patterns/testing/xp in your Java classes - as of last night, my total teaching experience amounts to four classes!'' ---- This is an interesting problem. My course won't start until Feb 10 and I'm focusing '''way''' more on the advertised content (Enterprise programming in Java) than on patterns. Basically, I'm dividing the course up into * Advanced Basics * Core Enterprise APIs * Relatively New Stuff The course is targeted at people with some Java and programming experience, but not a heck of a lot (and certainly not a heck of a lot of distributed programming). I'm planning to spend the first part walking through things that people tend not to fully understand (JavaBeans, reflection, serialization and threading) and new important libraries (Swing, Collection). After that, I'm going to spend the bulk of the course on JDBC, basic RMI, Servlets, and CORBA. And, after that, brief coverage of the 1.2 extensions to RMI (transactions, leasing, etcetera), finishing up with JavaSpaces and Jini. The question is: where does WikiKnowledge fit into all this. There are several places: * UnitTest''''''s, ReFactoring, and ExceptionPatterns are all in part 1 and will be used throughout the course. * ClientServerPatterns. A huge part of the middle section will focus on the commonality and on abstracting out the real server. E.g. the plan is to have "the same server" accessed via a servlet, via CORBA, via .... This will lead to two things: Easy comparison of the strengths and weaknesses of the distribution mechanisms (well, easier comparison). And it will enable me to focus on the underlying patterns for constructing client-server apps. -- WilliamGrosso ---- Actually, it turns out that these plans were '''way''' too ambitious. There just isn't enough time/space/energy for me to cover XP and C-S patterns. Instead, I'm focussing on actually explaining how the core libraries work. MyJavaCourse -- WilliamGrosso