Trystan Jones at www.crennsmind.com did a presentation on connecting electronics to the GPIO and has released both the presentation and associated code files to the public domain over at GitHub.
crenn/RPi-Connecting_Electronics · GitHub.
The presentation is a very good, succinct, round-up of the GPIO functions and he covers a basic Hello World example as well as examples using a port expander and a microcontroller. Much of the content is links to other sites, but as these other sites are very good (Adafruit, for example), it is no worse for that.
Perhaps some school-based RPi user can adapt it for an intermediate class?