Learn by Examples, the module
Budding Drupal developers will be glad to see: there are more contributions are springing out of the Examples project. Examples is a great resource for teaching experienced PHP programmers the capability of Drupal- from how to define a page, to using the Form API. It's also a great way to get familiar with Simpletest.
Randy Fay published the project on Drupal.org in April. There's also a Drupal 6 and Drupal 7 demo site for all of the examples. See http://drupalexamples.info/ but now it's gaining momentum. And Examples strikes that balance that is so tough to get when teaching.
Drupal's API documentation is great, but it's also good to see a hook in use. It's like learning grammar from a dictionary. You can find the definition of the word, whether it's a verb or a noun and even the tenses; but you can't get the context. This is where it's helpful to see it used in a sentence. Learning Drupal development from the API documentation would be a bit like that. You want to see how the code is used. But sometimes it can be hard to find the right example.
Lecturers who teach programming aim to find the balance between examples that are so simplified as to be useless: (see: hello world) and examples that are so complex that a novice can't identify a pattern and modify it for their needs.
The alternative is a minimal example:
" A minimal example is focused on a single feature or programming concept. It is a complete executable program, crafted to be as short as possible. It is instrumented for observability with no attempt to do anything other than to illustrate a point." from Hoffman & Walsh, Teaching Programming With Minimal Examples.
The sky's the limit with this module, but a good strategy would be to focus on the threshold concepts that get people in the door with developing in Drupal. It looks like they have that planned.
Check out the Examples project page to see ways to help and the current call for Examples: http://drupal.org/project/examples
In my next post, I'll be taking the knife to the notion of Drupal's "steep learning curve". Just sharpening it now.
By the way, I've started tweeting about Learning Drupal. @learningdrupal