New and Old Ideas About Computer Science
If anyone happened to ask me, I would say that the biggest problem we face in all of computer science education right now is addressing misconceptions many people hold about our discipline, both as an educational endeavor and as a career path. Recently, however, I am beginning to see efforts by respected computer scientists to address this challenge head-on.
In an effort to address the misconception that computer science is programming, Jeannette Wing, the head of the Computer Science Department at Carnegie Mellon University has taken on the thorny issue of what computer science is and is not.
In a recent issue of the Communications of the ACM (March 2006, 49(3), pp.33-35), Wing puts forth the opinion that computer science is really the study of computational thinking (what can be computed and how to compute it) and that computational thinking is a fundamental skill, not just for computer scientists, but for everyone because it involves solving problems, designing systems, and understanding human behavior.
Computational thinking, Wing argues, has the following characteristics:
* It is about conceptualizing, not about programming
* It is about how humans solve problems with the aid of computing devices
* It draws on both mathematical and engineering thinking to build systems that function in the real world
* It is about ideas that touch everyone's lives
* It is everywhere
When we think about computer science in this way, the realm of possibilities for doing interesting and important work is shown to be limitless and the idea that computer science is sitting in a cubicle all day worrying about 1 and 0s is suddenly shown to be, as one student said to me, "so ago".