Tuesday, January 22, 2013

Better Living With Computer Science

A bubbling frothy mass got me wondering

Why do so many people still think that "Computer Science" means fixing a broken computer? 

Why do so many people think that teaching "Computer Science" is the same thing as teaching keyboarding (e.g. typing on a keyboard) or word processing? 

Why do so many people not understand the significance of the questions? 


After all this time, I still get looked at with disbelief and dismay when I say I am not the best person to upgrade someone's neighbor's friend's relative's new operating system or that I'm not the most qualified person to take apart your printer. I mean sure, I'll be happy to take apart your printer.  But you may not be happy with me doing so. Assuming you want the problem, whatever it is, guaranteed fixed and all parts back in their correct places and functioning properly.

I willingly throw myself upon the mercy of the repair guy or gal when my motherboard pukes or my external drive locks up or my video controller goes psychedelic. I do have an advantage in that I can generally figure out what is going on ("oh crap, the xyz controller has gone belly up"), but that doesn't mean I am going to put my sticky fingers in there to mess with it. With or without a magnetic screwdriver. I want everything back in one place and better than functional at the end of the day. Instead, I call in the pros.

But I'd never ask that same repair whiz to develop a pedagogically sound online tutorial, or lay out the requirements for an enterprise software system, or develop an effective computational biology DNA algorithm. The repair whiz would likely think me slightly deranged for asking.  

We go through high school classes in chemistry, physics and biology and we come out understanding a few distinctions between chemists, physicists and biologists. For the most part we have at least a basic understanding of what chemistry, physics and biology are because we have taken classes in those topics.

I was watching a strange concoction burbling on the stove the other day. I pondered that I was watching chemistry and physics in action: burble burble the molecules interact in order to boil in a certain way, the electrons bounce around, the foam develops and slithers around.The Pyrex nicely distributing heat from the element is the result of some darned smart chemists. I recognize the relationship between chemistry and physics in front of my eyes. And the biology involved with my quivering nostrils and soon to be activated taste buds.

I am a Computer Scientist. Also at times a Mad Scientist (and proud of it). I'm not a Chemist or Physicist even though I can cook. Doesn't it sound crazy to even suggest that?

Perhaps we need to teach Computer Science in high school along with Chemistry, Physics and Biology?

1 comment:

  1. Your post raises (for me) a number of interesting questions. We don't teach anthropology, for the most part, in high school. In fact there are a large number of disciplines that are not regularly covered in a western secondary school curriculum.

    The question of what goes into such a curriculum and what does not is partly informed by one's educational philosophy. Is it Jeffersonian; to have an informed electorate? Is it more Keynesian; to create the workers (some skilled, some not) to keep the wheels of capitalism (or communism) running? There are other philosophies to boot.

    I like to approach the question from the perspective of "what should any liberally educated (or maybe just college educated) person know about computation/informatics? This is more Jeffersonian than Keynesian. One can ask the same about just about any discipline. (e.g. What should any "educated" person know about Calculus, or evolution, etc.)

    It took quite some time for the phenomenal accomplishment that is Calculus to make its way into the "canon," the same is true for Darwin's evolution. I expect that the appropriate basics of computation will get there - it will just take some time.

    What can we as computation educators do to speed the process along?

    To mean the fascinating question is: What is it that any/every educated person SHOULD know about computationinformatics?