We’ve almost arrived at the end of my first two week course for internal training. We’d normally hold it in our offices, but space in the office is a huge premium with so many active projects. We’ve had to move our training sessions to the Royal Orchard Hotel. We hold our sessions in one of the conference rooms and I’ve noticed a distinct difference between sessions we’ve held and those that the different groups of people next door hold.
Our sessions use a blend of techniques including individual brainstorming, group brainstorming, facilitated discussion, reflective exercises and a group exercise combined with discussions about principles.
In contrast, the sessions held next door are often a single speaker presenting uni-directionally at the audience with a barrage of powerpoint slides.
As a coach, as a teacher, and as believer in agile methods, respecting people and their individual mechanisms for learning are motives enough to teach using a variety of techniques, especially in group situations. I like to think that our company thinks differently, more effectively, and hopefully much more fun.
I worked as an oracle trainer for a number of years and initially followed the uni-directional approach but got frustrated when i could see people zone out, especially after lunch with the afternoon sleep effect. Then I attended a facilitators course and was really challenged and enlightened to the facilitation approach which is how i’d describe the techniques you are using. The facilitation approach doesn’t always work with hard skills training such as the syntax on a SQL statement but for soft skills, such as those things you are teaching, the facilitation way is clearly beneficial.
I also noticed how more students came to me after i changed my style and said they learned at lot more and often commented that it was fun. When working with externally developed courseware, it can be hard to mix the two styles but still worth the effort.
It may also be worth checking out the book Agile Java. The author, Jeff Langr, comments that he has found teaching java by using tdd / junit, is more effective than traditional approaches and his anecdotal experience shows better knowledge retention by the student.