On Oct 11, 2004, at 8:12 AM, Derek M Jones wrote:
"In 1961, Alan Perlis made the argument that computer science should be considered part of a liberal education, and that everyone should learn to program."
Ah, the future as predicted in the 60's. What I want to know is, where is my flying car?
Obviously, not everything is correct in all the visionary work of the 60's. That doesn't mean that everything in the 60's was wrong. Particularly relevant is Perlis' fear (as he describes in his talk) that students' introduction to computers would be driven by "applications" which would lead to "piecemeal theories" and an incomplete understanding of what the computer is capable of doing.
Hang on a second. Electricity is much more pervasive than computers. Everybody needs to learn about Maxwells equations first and before they use any electricity from a nuclear power station they need to learn quantum mechanics. I just don't understand how our ancestors were able to move to an agrarian way of life without any knowledge of plant photosynthesis and the process of nuclear fusion that caused our sun to generate photons.
Obviously, as your example points out, we don't have to know about everything in order to do anything. The question is, as you state, what is important to know. In a world in which the computer does play an important role, NOT knowing how a computer works means that you are forever trapped by others' depictions of how the computer should be used.
I recently met with a Dean of Architecture who explained that all their upper-level undergraduate courses are offered in three sections each: One for each of the major CAD tools. Students can learn one CAD package, take all of their courses in that one package, and never learn any other. They were completely at the mercy of one depiction of what a computer is good for. Their students were not studying computing as a topic itself, and thus, were never recognizing that all three CAD packages were essentially the same. By having students now take a course in computing (yes, Architecture students are taking our introduction to programming course), we hope that they can learn to recognize what these tools are doing and develop increased ability to transfer between the packages -- and even think for themselves about what the computer might be capable of automating for them.
The approach to education needs to change to include ignorance management. In the past so little knowledge was available that it was reasonable to expect people to have a general grasp of most of it. These days so much is known that most people cannot be expected to have any such general grasp. So we need to be able to figure out both what students need to know and what students don't need to know.
Oh, I don't know. Ignorance seems to be getting along quite well on its own these days -- I'm not sure that we need to actively manage it.
More seriously -- of course, you're right. We can't ask students to know everything. The problem of devising a curriculum, though, is figuring out what's going to be useful to students years in the future, when our students will be professionals. What will they need to know, but people don't necessarily need to know today? What can we teach them that will enable them to learn and cope with a future that we can't see yet? We can bet pretty safely that computing will continue to be important, and perhaps grow in importance, in our students' future. Helping them to understand, cope with, and even adapt computing to their needs seems to me to be a pretty important set of skills and concepts.
Mark
__________ Mark Guzdial : Georgia Tech : College of Computing/GVU Atlanta, GA 30332-0280 Collaborative Software Lab, http://coweb.cc.gatech.edu/csl http://www.cc.gatech.edu/~mark.guzdial/
---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/
