Hey CJ,
Very good, just some comments...
Obviously this is a 'primer' to PLC programming (lesson 1) and I'm sure you will expand on it as you go. As a suggestion, how about showing what happens when the contact is normally closed? Or, as the others have stated, explain the hard wiring, then how the program correlates with the circuitry?
As another has posted, there really isn't a philosophy on programming, or one that is written or adhered to. In my experiences, in my little corner of the world, I feel that there are mainly 2 types of programmers. Electricians that program and programmers that don't know electrical. Of course, quite a few of us fall outside that realm, but guessing you are trying to reach a general mass, or teach a technician how to program, so I'll go with example 1.
Show how it's wired (if you haven't all ready), use your lesson 1, but also show that the plc can do stuff without the input. Probably the biggest roadblock I see with people (like myself) is trying too hard to make it work like 'relay logic'. "If an output does not receive a certain input, it cannot function..." which is totally wrong. Maybe setup a different light for when the input is off, or a normally closed (xio), then assign the original for your xic. This may knock down a few stumbling blocks on the way to timers, counters, move functions, etc... and even some status file stuff
Hoot