Neil's News

+ 2010
+ 2009
+ 2008
+ 2007
+ 2006
- 2005
 Shell Acoustics
 Context Menus
 Security Lecture
 Unfortunate Typo
 Logging Out
 Switch
 Through the Looking Glass
 Scotland Video
 Comma Separated Values
 OU-M880 (Soft Eng)
 Cycling Britain
 Hidden Costs
 Hiring
 Golden
 Style vs Substance
 Bess
 Ajax Content
 DHTML Client
 Over There
 Content Hijacking
 Raw Statistics
 Trying to Fail
 SETI@home 2500
 Security Separation
 Gamma Ray Bursts
 Fishy Behaviour
 Moo Browser
 Caption this Photo
 All Good Things
 Dalek
 Moo Direction
 Open University
 OU-M865 (Projects)
 OU-M876 (Data)
 OU-M886 (Security)
 OU-M878 (Objects)
 OU-M874 (Java)
 OU-M873 (UI)
 Einstein's Riddle
 Glowing Books
 Hogmanay
+ 2004
+ 2003
+ 2002

OU-M878 (Objects)

19 February 2005

Half way through the course on Object Oriented Software Development, I realised what's wrong with most computer courses.

Learning programming should be like watching a Bond movie. As the movie starts some guy is sky-diving onto a building, rappels down a ventilation shaft, bursts out of the ceiling, kills a guard, grabs the false teeth from a safe, takes his jumpsuit off, walks casually through the elegant party and leaves by the front door just as the building explodes. Who is this guy? Why did he do that? What's with the false teeth? Who cares, it's fun! After the opening credits we watch the debriefing back at headquarters, and the details of what we've just seen start to fall into place within the larger framework.

By contrast look at a typical programming course. First one learns about the concept of objects, why objects are important, how to draw relationships between them, how to define their schemas. By the time one gets around to creating an object or two on a computer, most students are either asleep or have given up trying to assimilate abstract concepts without knowing where this is all leading. This teaching method is logical and systematic, but it doesn't work.

Instead, imagine a course where students are given no theory, and taught just enough syntax to keep the compiler happy. Build something cool (probably calling in lots of existing code). Only after they've had a good taste does one step back and explain the base concepts. These students now have something concrete they can chew on.

The only time I've seen computer programming taught this way was an accident, I went from grade 7 to grade 9 half-way through the year (long story) and landed right in the middle of the action. After a week or two the teacher found the intro notes for me to read. One of the few good computer classes I've been in.

There's no denying that the underlying theory is terribly important. But teaching theory first results in a bored audience. A Bond movie has better flow. Not to mention a better gender ratio.


Classic comment from this course's tutor: "A problem with many of your solutions here is that you deviated from an expected analyses of the problem." All we like sheep...

< Previous | Next >

 
-------------------------------------