On 15 Jan 2008, at 15:30, Luke Church wrote:


If what we're doing is teaching a set of techniques for analysis of
algorithms, that's fine, but isn't that rather different to saying 'if you
can't write quicksort you're not a programmer?'?


Hmm, I suspect quicksort is taught so widely simply because it is a pedagogically very useful example: - It's a compact example of a recursive algorithm that doesn't require the student to know much else yet
- All the swapping and indexing makes it a handy exercise in pointers
- We can ask students to compare it to other small algorithms in terms of O() analysis - It has some interesting wrinkles about "what if the set was already sorted in reverse order", so we can show students they need to think rather than just blindly apply the O() analysis

There can be a very human tendency for cultural assumptions to creep in ("if you've had an education of course you'll have read Hamlet / learnt Latin / ...") but I doubt that is the intent of CS course designers.

Will Billingsley

----------------------------------------------------------------------
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to