Computer Scientist:Programming::Mathematician:Arithmetic
One of the things that continues to exasperate me on a regular basis
is the conflation of computer science with programming. Consider two
recent gems (emphasis mine):
1. From a press release for Microsoft TechFest 2007:
Boku, a virtual robot in a simulated world, debuted as a research
project to teach kids basic programming skills in a fun and
entertaining way. "There is an ongoing and deepening crisis in
computer science," Rashid said. "Our goal is to stem the tide by
showing young kids the magic of software programming."
2. From an article on changing perceptions of computer science at
college and K-12 level:
East Allen County Schools is working to make sure students are
exposed to computer careers, whether they think they might be
interested or not. All students are required to take a computer
course before graduating, and those who know they are interested
can take in-depth courses, including training on Cisco computer
networks...
Sigh. Ok people, say after me, slowly: Computer Science IS NOT
programming. How many musicians do you think you're going to attract
by preaching the exquisite beauty of scales and arpeggios to little
kids?
As Lance mentions, the closure of stores like CompUSA is a harbinger
of the end of computer science as "television science". The more
familiar people get with computers, the more they treat them as
appliances rather than as complex devices worthy of worship.
What does this mean ? You aren't going to attract people to a field by
saying, "Lookee here! here's a neat television ! Let me show you how
to build one. It's FUN!!!!". First of all, people ain't stupid.
Secondly, there's a lot more to computer science than programming.
Thankfully, we do see here and there the signs of a manifesto for
computer science that doesn't involve actually programming a computer:
From Jeanette Wing's CACM article:
Computer science is the study of computation: what can be computed
and how to compute it.
Amen to that. And notice how different it sounds to the version you
might get from the random person on the street:
Computer science is the study of computers.
If I had to preach the gospel of computer-science-as-computation, I'd
probably riff off three things:
* The above mentioned CACM article. Message: Computer science is the
study of algorithms and abstractions.
* Bernard Chazelle's IPod essay. Message: Algorithms are the
language of modern science
* Scott Aaronson's 'Logicians on Safari' article. Message: Computer
science is quantitative epistemology.
'Nuff said.
p.s Chazelle is quickly becoming the poet-laureate for 21st century
computer science: check out the table of contents for his course
titled, "What do your DNA and your iPod have in common ?"
 
No comments:
Post a Comment