Why did CS defect?
In my previous post I included computer scientists in my discussion of specialization and the postmodern engineer. Doing so reminded me that one of my pet peeves over many years has been that the field of computer science chose to call itself “computer science” and not use a term that included the term “engineering.”
There is no proper argument that computer science is one. Science is largely descriptive: it works primarily on describing that that is. Engineering is primarily prescriptive: it says what should be built and how things should be done. Without the invention of an engineered object, the computer, so-called computer science would have nothing to describe, and computer science’s past has been a glorious history of continual improvement, engineering, and invention of some of the most powerful technological artifacts known to man.
None of this says, of course, that science is not used in computer science toward its primary mission of creating better computer systems, and none of this says that computer scientists don’t contribute to science through their descriptive efforts, but other disciplines of engineering also use and contribute to science in a similar ways. So why did computer science “defect” from the other engineering disciplines and choose to ally itself nominally with the sciences?
History and prestige give much of the answer. Computer science arose in the aftermath of World War II and the success of the glory projects, the atomic bomb and radar, were largely attributed to the science involved. A more careful reading of history (see this) suggests that the success of the glory project required a good bit of formal and informal engineeirng acumen. Moreover, a better understanding of the Allied victory, generally, would credit engineering as part of a larger production dynamo that produced materiel for the war effort more rapidly and in larger quantities than had ever before been seen. Such nuance is largely lost to the larger culture, however, and the postwar zeitgeist raised the prestige of science. That CS chose to call itself a science can be understood in that milieu even if the name is inaccurate.
Unfortunately, the harm caused by this choice is not restricted to sloppy speech. What a field chooses to call itself matters. For example, the training of CS graduates teaches them “theory” as some sort of pristine exercise in proper mathematics as opposed to teaching model building as something that is integral to proper engineering. As a result, CS majors tend to treat theory as something divorced from the engineering of systems in a manner not seen in disciplines that choose to call their practitioners “engineers.” My campaign for little models is largely an effort to counteract the imbalance in the theory education of computer scientists.
Card carrying computer scientists have recognized these problems. For example, Peter Denning’s famous article Educating a New Engineer (here, ACM access required) chose the term “engineer” in making a case for change in educating the CS major of the future, and he created what he called the Center for the New Engineer to promulgate that vision. The selection of the term “engineer” was not an accident, and part of the point was to correct the errors of a CS past in which science was overvalued above the primary prescriptive mission of the discipline.
CS is the most recent discipline of engineering to be created, but it probably won’t be the last. Let us hope that the next one that comes along has the wisdom and courage to choose a more accurate name.
Posted by admin on June 12th, 2005 under Illigal-blogging
Comments: none
Write a comment