Additional profile information on Alfred Thompson at Google+
What good is computer science anyway? How does it help anyone understand the world around them/ Good questions both. And in the last few days I’ve seen several good answers. Those are not directly the questions the blog posts I found were addressing but I think they are relevant. The first one was a post called Crafty and CS-y written by the Wicked Teacher of the West aka the Geeky Knitter. She points out that many patterns in knitting and quilting are digital. Reading that it made me think of the ASCII art and other line printer art we used to do back in the old days before modern graphic printers and monitors.
A recent blog post by Dan Reed uses a number of examples from real life to talk about computer science concepts. The post is called Driving: Integers and Reals as starts with an evaluation of how different drivers regard the lanes in multi lane highways. “Integers” see the lanes as discrete and specific lanes. “Reals” see the lines as guidelines and think of an infinite series of lanes. The whole post is interesting and thought provoking on several levels. While he’s at it Dan talks about set theory, famous names in computer science and historic computing projects. Good stuff.
And lets not forget about about things like the Fibonacci Series in nature, Mandelbrot fractals and other overlaps between math, nature and computer science. I’ll bet others reading this post can think of other examples to talk about as well.
Computer science educators are fond of saying that computer science is a lot more than just programming. Programming has a bad reputation. And in some ways so do those of us who find programming to be a lot of fun and very interesting. So there are some good reasons to deemphasize programming to some extent. But can we avoid it completely? A couple of people I respect have taken up some form of this question lately.
Mark Guzdial has a great post on his blog titled Programming is central to Computer Science. Mark makes a good case for programming being a central notation system that is essential for computer science. The whole thing is worth reading and I can hardly do it justice in a summary. One the other hand, the Wicked teacher of the west takes a slightly different view on her post titled Is programming necessary? She riffs off of some comments by Robb Cutler (another really smart guy who I wish would blog) Robb “thinks we could teach introductory CS at the K-12 level without any programming at all.”
Well, yeah, I guess we could teach some computer science without programming. The CS Unplugged program is one great example of that. There is a lot of good computer science education there. But is it enough? I’m not convinced. Teaching computer science without computer and programming is like teaching physics without math and experiments. One can go so far but no further. I do think that it would be worthwhile to teach some computer science concepts without programming. Let’s get people to understand where the path leads. But taking them as far as they need to go is going to take some programming. There we need to make it more interesting and relevant.
This is a good discussion to have though. Where does the need for programming start and how far can one or even should one go before introducing it?