Java was an OK language to learn, yes learn, going into the course I didn't actually know Java - just C# which is very similar. For the record I wouldn't recommend this approach to others but it is a powerful way to learn something. It's just that it's painful. I spent two months teaching for four hours a day followed by an afternoon of marking and prep then an evening of reading and prep. I still prefer my VB.net and C# over Java, most likely because I'm more comfortable with Visual Studio than the open source tools that are used in Java.
My managers at work seem to think that all you really need to do is read the power points as you present. And in some smaller one and two day seminars you might very well be able to get away with doing that, and I have previously done so but I don't like doing that. I feel really vulnerable - if anyone asks anything that is the very least 'off script' from the book there is the very real possibility of looking like a complete fool.
Now I'm coming up on teaching an Object Oriented theory course and a C# course. I'm reasonably familiar with the topics but have never taught either of them and for the three day object oriented course I need to develop the course ware. But I'm concerned with the C# course it will be a challenge to bring them through that language.
The first issue is the students, this class is composed of new programmers, they have done a little java script coding but never any full-up compiled programming. They have struggled a bit with SQL (mostly because of self esteem issues - they are quite capable of doing it when talked through it)
No the challenge is that the language they are going to be presented with is C#. C# is a very powerful first rate multi-purpose language. The problem is that it's syntax is not very intuitive. VB.net would have been a much better choice for 'first language' it reads easier, is more 'English like' and would help students that are already having confidence issues. The book I'm using is quite good but has significant 'density' - it's a hard read, even for me (in that I know this topic) to accomplish in the time we have.
So the challenge is how do I teach students that have no previous frame of reference for programming a complex language that is inherently going to be a fight for them. I'll post back with what I decide to do and how it works out.
Update: They are just finishing their SQL tests - no panic so all seems to be ok...