http://qs321.pair.com?node_id=211326


in reply to Fundamentals Of Programming -- In 6 Hours

Following in my tradition of "carrot & stick" teaching method, I'd try for something along these lines (assuming 6 1 hour sessions):

  1. Start by showing them a js dropdown menu with nice borders and their names on them, that pops up an Alert box saying "XXXXX sucks at programming".:)

    Supply each of them with a copy of the code, which should be as badly structured as possible. Monolithic, everything hard coded etc. The sort of stuff that your average beginner turns out.

    Then let them spend half an hour trying to modify their copy so that when they click their own name, it pops up and says something really cool.

    Then ask them to try and integrate all their different versions together for the rest of that period and homework if they want to.

  2. Start the next lesson by showing them your structured version (in action rather than the source), and then ask each of them what they want their name to say, and make the changes to your version. Ie update a data structure somewhere and show them that in action. Shouldn't take more than a few minutes. As they've seen how hard it is to do it themselves they should be impressed by yours.

    You then get to spend the rest of the time explaining the differences between the unstructured and the structured versions. Why each part was changed and the benefits they get from it.

    The rest of the periods cover (for example) the following subjects with half the time spent explaining the basics and half with them trying a practical exercise.

  3. Variables and data structures.
  4. Flow control and functions.
  5. Abstraction and encapsulation (though I'd probably call it "Keeping apples with apples" or similar:)
  6. Putting it all together and if time allows, some simple debugging techniques.

Hmmm. Just a few thoughts.


Nah! You're thinking of Simon Templar, originally played (on UKTV) by Roger Moore and later by Ian Ogilvy