|Think about Loose Coupling|
Wow! Great list.
Your list and homenode made me think of starting a CBT on learning Perl. I was thinking chapters on particular features of Perl, followed up by interactive practice sessions, in which the user could enter script and have it judged based on whether it would compile, and whether it would produce the desired outcome.
Of course there would be a security issue if the program were web based, but if a training program were available to download and use on the user's own computer, this could be avioded.
I work as a CBT developer, and have been learning Perl for several months now. I usually develop in Authorware, but I think that in keeping with the spirit of open source, if I have time I may try my hand at something like this in HTML and Perl. The hardest part would to produce an interactive and engaging CBT rather than a static tutorial reader, and judging the interactive scripting sessions (possible even?) since there are so many different ways to do things in Perl. Maybe a more realistic approach would be to have a more traditional question and answer quiz at the end of each chapter, on which the user would be immediately judged and provided with useful feedback.
update Of course all of this would have to wait until I were to gain a much better understanging of Perl, and even then would probably be limited to the simplest concepts.