Search This Blog

Sunday, February 20, 2011

CS Education is fat and weak – 3

We continue using our two examples from my last post to study how

Conscious and Unconscious Framing shapes CS education

As a classical music buff Ive heard many versions of the 'classical' form of which Valentina is probably the most superb. Quite frankly when I first heard – or should I say experienced?! – the version by Dr. Viossy, I was offended, shocked, confused, dismayed.

And then little by little I realized that that is what Beethoven intended.  Beethoven was 'not nice' as one schooled in his lineage points out.
One could say that Valentina plays flawlessly what Beethoven wrote.
Dr. Viossy comes closer to what Beethoven was – passionate, angry, non-conforming genius.

Its important to get that Dr. Viossy plays mostly the same notes that Valentina plays.  The difference is at a higher level of abstraction, viz to frame Beethoven as a 'metal' piece requires a fundamental change of world-view –  weltanschauung. And a change of worldview requires both time and courage.

Consider this:

Upon reaching America Amerigo Vespucci is reported to have exclaimed:
We saw more wild animals—such as wild hogs, kids, deer, hares, and rabbits—than could ever have entered the ark of Noah; but we saw no domestic animals whatever.
How do we react to this sentiment? 
Do we laugh at Vespucci's excessive Christian devotion in linking up the mythology of the biblical Noah with the factual America?

If we do we are blind to the gulf between facts and worldviews: In Vespucci's time a non-religious person regarded the bible more factually than a religious person today does.  Consider that then flat-earth was a matter-of-fact, round-earth was a bold and dangerous[1] speculation.  Today the flat-earthers are the fringe-lunatics.

And so, like we laugh at Vespucci, I conjecture that future generations will laugh at us – in particular, current-day views of computer science.  The difference is that Vespucci looks ridiculous after hundreds of years. We will look ridiculous within decades, ie within our lifetimes.

Consider:  A recent edition of Knuth's bible had on the back-cover something about these books being about 'classical' computer science. So if Knuth is classical computer science, what is pop CS? Heavy-metal-rock CS anyone?

The issue at hand really is the difference between a supposed unchanging classical canon vs passing fads and fashions.

What has all this to do with CS education? Quite simply it has fallen between multiple stools.

Scientists have their Newtons and Einsteins. Mathematicians have Gauss and Ramanujan. Music has Bach and Beatles. CS unfortunately has been over eager in appropriating terms like art and science without having the corresponding iconic figures.

These words – science and art – of course have value.  CSists certainly have the pride of the traditional scientist, also known as hubris.  But what about clarity, rigor, predictive capacity etc?  Ahem! Lets move over shall we? to…

Art! So what do we get from Art? Why the name of our most important book – The Art of Programming!  How about some of the characteristics of Art? Creativity anyone?  Whazzat[2]?!

The problem is one of framing.  We cannot but use old frames for new ideas:
  • Art as in Art of Programming
  • Technology as in IT
  • Engineering as in Software Engineering
  • Architecture as in Software Architecture
  • Design as in Design patterns
  • And in the very most glorious name of our field – Computer Science
To some extent this works and is fine. However when the newness becomes radical novelty it begins to breaks down. Dijkstra did say:
Universities should not be afraid of teaching radical novelties; on the contrary, it is their calling to welcome the opportunity to do so. Their willingness to do so is our main safeguard against dictatorships, be they of the proletariat, of the scientific establishment, or of the corporate elite.
And yet like all others, his own frames won over the radical novelty – he believed that science  and mathematics would solve all problems.  And his followers (myself included) failed to notice that his notions of science were so much at the  fringe as to sometimes be quite nonsensical ­– Psychology is not a science.

In short, CS has been ossified into a canonical 'classical' form without having the great masters that are worth preserving. As a result we have the cultural schizophrenia towards CS:  the insiders who have some chosen 'greats' (Turing? Dijkstra? Steve Jobs?).  Whilst the outsiders see nothing more to it than the GHz of the latest GPU or the new mouse-gestures for their favorite Ip[ao]d.

[1] For many reasons: You could fall off the edge, or you could anger the pope. The second presumably more dangerous than the first because if you fell off the edge of the earth, God would protect you, if you angered the pope, He would not!

[2] No Ive not heard managers complain that their programmers dont write epic poems and compose symphonies.  But they do – almost universally – complain that they Cant even write an email!  Now if instead of boring the poor b___s with technical writing trainings , the managers studied the diff between H and P creativity


  1. The notion that the Earth was flat was long gone by Vespucci's time -- that the earth was round was known and accepted as far back as the ancient Greeks.

  2. Hmm... Thanks for the history correction Chris. However it hardly
    affects my main point, viz that what is considered obviously true by a
    large class of people or even a whole age, looks ridiculous when some
    other standpoint is found.