Learning-by-doing Drupal education module

Events happening in the community are now at Drupal community events on www.drupal.org.
sreynen's picture

The idea is a module that presents a series of configuration and development tasks, e.g. create a view, add a menu callback, alter a form, etc. and then tests completion of the tasks with SimpleTest as a sort of Drupal dev training system for people who like learning-by-doing. Documentation covers learning-by-reading and the example module covers learning-by-example, but is there anything that covers this kind of learning-by-doing system for Drupal?

Comments

Maybe this could be

pcambra's picture

Maybe this could be integrated into the examples module http://drupal.org/project/examples

Examples is for core APIs

rfay's picture

The Examples Project is for demonstrating/teaching core APIs. It doesn't go into contrib - but there is a Views Examples module, and there should probably be a CTools. I'm in favor of teaching examples however we can do them, and will help you find a place for your module.

Of the initial tasks you present "Adding a menu callback, altering a form, simpletest", the Examples project has all of those.

Different than examples

sreynen's picture

Hmm. I feel like I wasn't very clear. I think there's a difference between the type of learning involved in looking at example code and the type of learning that happens by writing your own code. At least for me there is. I don't feel like I really understand something until I've done it myself. Sure, you can edit the code in examples, but that's not quite the same as writing your own code.

Maybe going through a use case would make this clearer:

You install this module, and go to a page under /admin. It says "Welcome. Your first learning task is to enable the simpletest module. For help on that, see the simpletest installation instructions. When you are done with that, click DONE." So then you go and install simpletest, and you click "DONE" and the module does a module_exists() check to confirm you've enabled simpletest and says "Good job! Now you're going to make your own module. First, create a directory named 'mymodule' in /sites/all/modules. When you're done, click DONE." And so on. At each step, it tests you've successfully completed the task you were given. After the initial task of installing simpletest, simpletest would be used to confirm the completion of tasks. Writing tests may also be a task, but that's not really why I mentioned simpletest.

Maybe "mini-certifications" would be a better way to describe it. Or maybe I just need to actually write it to be clear. I just want to be sure I'm not reinventing a wheel here.

It's a game!

claar's picture

Neat idea -- reminds me of the tutorials that come with every flash game these days. One suggestion for improvement on the idea would be to automatically notice when they've completed the next step instead of making them check "done()".

If you included enough hand-holding, this could be a good way for the truly newbies to learn.

Have a look at SEO checklist,

the_g_bomb's picture

Have a look at SEO checklist, similar (totally unrelated) idea, in that it is a checklist of tasks that gets automatically or manually completed to achieve something with links to instructions and more information if available/required. I like this.

--
G

Contributed Module Ideas

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: