On Oct 11, 2004, at 7:31 AM, Walter Milner 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."

What does 'learn to program' mean? Drawing a square with Logo, proficiently using WinAPI in C++, a little Perl or what?

In Perlis' talk (I finally found a used copy of Greenberger's volume with Perlis' talk transcribed), Perlis does provide a list of what he expects to be in everyone's introduction to CS. Most of the items are the fundamental issues of programming: Sequencing of instructions, conditionals, iteration, etc. These are the issues that are key to describing process.



M. Mitchell Waldrop in his book The Dream Machine (Viking: 2001) says that he made the argument that programming was a fundamental intellectual skill, like mathematics. He argued that computers “will participate in almost every intellectual transaction that goes on in the university.”

They also participate in every commercial transaction in every supermarket. Should check-out staff learn to program?

As we state in our article, and as Perlis states in his talk, the audience we're discussing are undergraduates. If your check-out staff require undergraduate degrees, then yes.


The critical idea is that computers allow us to describe process at such a level that it can be automatically executed, and that fundamentally changes many knowledge fields -- it allows us to create simulations, video games, digital video special effects, spreadsheets, and so on. Knowing about that process description looks provides the opportunity for the professional to think about what processes in her field might be automated but perhaps are not now. We can't expect computer scientists to know every field and every process in those fields. If we believe that computing can have a broader impact on society, then we have to enable professionals to identify where computing might be useful in their fields. They can only do that if they have some understanding of what a computer can do, and you only really understand that if you experience writing a program yourself.

Calculus is generally considered part
of a liberal  education—truly educated people know something
significant about calculus.  Calculus is the study of rates,  and rates
are important to many fields.  Perlis argued that  computer science is
about process: Its specification, its  execution, its composition, and
its limitations.  And process  is important to everybody. "

Fishing is also about process - should we teach fishing? (well yes actually, since awareness of ecology is vital for our survival..)

Fishing is about specification, execution, composition, and limits of process? I guess I've been doing it wrong...



Yes, everyone should learn calculus, and vector algebra, computer science - its all great. But the concern is with the achievement of basic skills like what multiplying integers means. The proposal that programming might support the development of the concept of number is very helpful, and we should discuss that.

As best as we know, learning to program affords no higher-level cognitive skills development nor transfer. Palumbo's review article made that pretty clear 14 years ago.


@Article{palumboreview,
author = {Palumbo, David B.},
title = {Programming language/problem-solving research: A review of relevant issues},
journal = {Review of Educational Research},
volume = {60},
number = {1},
pages = {65-89},
year = {1990},
keywords = { }}


That said, there is evidence that programming can be used as a context in which to learn mathematics (e.g., Harel and Papert) and other fields as well (e.g., physics in Boxer or Emile).

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/

Reply via email to