Computing Applications Forum


  1. Call It Anything But Programming, Even Science
  2. Put Creativity Back in Programming
  3. The Internet's Greatest Contribution to Democracy
  4. Japanese Rigor for Everyone
  5. Author

Although Peter J. Denning and Andrew McGettrick hit the nail on the head with their "The Profession of IT" column ("Recentering Computer Science," Nov. 2005), I’d still like to add two thoughts:

Education for industry. ACM should make it a fourth initiative in what Denning and McGettrick called ACM’s "three-prong approach to reverse this amazingly narrow impression of computing." Some companies hire programmers with no experience and train them to think the company way. ACM should point out the difference between hiring programmers and hiring computing professionals; and

Computational problem solving. The word "programming" should be erased from our vocabulary and from our course descriptions. Students learn to program in high school and trade schools or are self-taught. By the time they reach college they might think they know programming and that they’ve been doing it for years. Call it "computational problem solving" or "computational engineering" or "science"—anything but programming. Relegate programming to a laboratory environment, and use the classroom to teach computational methods.

George Dodd
Rochester Hills, MI

Peter J. Denning and Andrew McGettrick (Nov. 2005) paid little attention to the incentives that might motivate more students to pursue computer science over of other degrees. While traditional CS-oriented jobs pay well, many of the new positions (more support- than development-related) pay poorly. But these positions represent the growth area of CS in the U.S. In my own town, for instance, I see starting salaries at about a third of the cost of obtaining an education. Worse, the higher-salaried positions are often filled with people with industry-related experience, not technical CS-related experience. The highest-salaried positions are usually filled by people with master’s degrees of some sort in information systems, not with CS-related undergraduate degrees.

Many universities offer master’s programs in computer or information systems that require little of the kind of knowledge one would acquire pursuing a four-year undergraduate CS degree. Where is the incentive to pursue such a degree? I like my work; that’s why I entered CS. People still enrolling in CS, even as the overall number of students declines, probably want the intellectual challenge; that’s their incentive. Seeing it as not financially lucrative, others may ask: Why make the effort required for a technical degree?

If you want to see the enrollment numbers return to their 1990s levels, first provide an incentive. Before you can inspire professors to embrace new approaches, you need documentation showing what incentive students need to choose CS over other subjects.

Thomas Joos
Pittsburgh, PA

It’s easy to agree with Peter J. Denning and Andrew McGettrick (Nov. 2005) that it would be good if more academic CS programs stressed innovation, even as I find it difficult to see how it could be accomplished in practice.

For an innovation-related program, I find it depressing to see among the modules being suggested "Securing Your Computer," "Benefiting from E-Learning," and "Choosing a Computer." Perhaps I miss the intellectual value that goes under such titles, but, to me, they sound too much like "Sports Management," "Basket Weaving," and other courses now proliferating in U.S. universities. All courses in undergraduate programs must reflect the intellectual value that would seem to be missing in these examples.

Denning and McGettrick also attributed the motivation of "seeking to make mathematics more attractive as a major" to the development of the New Math in the 1960s. But the New Math was a reaction to the launch of the Sputnik satellite by the Soviet Union and was intended to prepare elementary and secondary school students for studying science and engineering in college. There was no intent to make mathematics "attractive" as such.

Anthony Ralston

Authors Respond:

We understand Ralston’s concern. We would never advocate lightweight, watered-down courses and always demand intellectual substance. But how can we motivate students by organizing the learning of our discipline around a theme of innovation? Examining how innovation follows from the discovery of fundamental principles is one way to answer. Thus, we envision "Securing Your Computer" as an introduction to principles for computer security, secrecy, and authentication; "Choosing a Computer" as an introduction to computer architecture and matching use to functionality; and "Benefiting from E-Learning" as an introduction to coordination methods, remote action, and human-computer interface. We are also not wed to these titles. Alternatives that convey innovation combined with substance include "Securing Computers," "Kinds of Computers," and "Telepresence." We could also create modules around the key discoveries of computer science. More conventional titles like "Computer Security," "Computer Architecture," and "Distributed Coordination" do not convey a sense of creativity and innovation.

The challenge is to package intellectual substance with course titles that convey dynamism and innovation. As we wrote the column, we also conducted a small market survey of our best students whose reaction was highly favorable to the direction we proposed. They thought our course titles and orientations were more appealing than their traditional counterparts.

We understand that New Math, while a reaction to Sputnik, was nonetheless an attempt to attract more students to mathematics. It did not fare well. We don’t want to try a risky experiment of that sort with computer science.

Peter J. Denning
Monterey, CA

Andrew McGettrick
Glasgow, Scotland

Back to Top

Put Creativity Back in Programming

I loved Robert L. Glass’s "Practical Programmer" column ("The Plot to Deskill Software Engineering," Nov. 2005) up to the point it took a wrong turn: "With the benefit of hindsight," Glass wrote, "of course, we can now see that most of what [Philip] Kraft and [Joan] Greenbaum foresaw would turn out to be untrue." Our respective hindsights are certainly different, to say the least.

I’m not saying there was or is a plot, but the effect is the same: Programmers are being deskilled. Object-oriented programming is being deskilled, even as it has been the bane of software engineering for the past decade. With many organizations matrixing, worker fragmentation is greater than ever.

When I started programming (some 25 years ago) programmers did everything—design, code, test, maintenance, system admin, and database work. This is definitely not the case today where a different person performs each task. Is this because today’s systems are that much more complex? Haven’t we been writing and rewriting the same software for the past 20 years yet can’t seem to do it any quicker or cheaper? How many of us have jobs that involve integrating the Web with legacy systems?

Computer science and programming have become boring to some extent. Programming is becoming coding, as if a typist were transcribing handwritten notes. Is this because today’s systems are that much more complex? I point to Peter J. Denning’s and Andrew McGettrick’s column (Nov. 2005) in the same issue as Glass’s column as further evidence that something is amiss. Perhaps it’s time to reconsider the seemingly ongoing removal of creativity from the process.

Todd Hartle
Atlanta, GA

Author Responds:

The two authors from the 1980s I wrote about viewed methodization as a way of making programmers less skilled and, therefore, less politically powerful.

It’s important to distinguish between deskilling and specialization. I consider deskilling to be malevolent and, for the most part, in no one’s best interests. In contrast, I consider specialization a natural move forward for any profession, like it or not. Hartle is discussing specialization.

Robert L. Glass
Brisbane, Australia

Back to Top

The Internet’s Greatest Contribution to Democracy

Eli M. Noam’s "Why the Internet Is Bad for Democracy" (Oct. 2005) debunked several claims concerning whether the Internet strengthens democracy. While I have not decided whether or not it does, I note that Noam avoided what seems to be the Internet’s greatest contribution to democracy—news from an almost unlimited supply of viewpoints.

This is usually seen as a strength of the Internet, since by viewing a large number of sources one may avoid (or at least detect) the editorial bias in any individual source. In my experience, however, most people do not tap a large number of news sources, choosing instead sources of news and opinion that most closely agree with their own pre-established views. When only a small number of news outlets is available, the outlets (necessarily) contain generalized content, including some viewpoints with which given individuals may disagree. However, with the Internet (and, to a lesser extent, cable television before it), individuals may self-select news sources that agree almost completely with their own world views, eliminating alternative viewpoints and producing more insular, parochial attitudes.

The exposure to, and validation of, contrary points of view is an important part of the compromise necessary in a democracy. It has always seemed paradoxical to me that one effect the Internet has had on many people is to reduce it.

Ed Callaway
Boca Raton, FL

Back to Top

Japanese Rigor for Everyone

I share Lawrence C. Paulson’s view (Forum, Nov. 2005) regarding the value of software reliability and would also gladly trade new features for fewer bugs. There is, for discrete logic, no general notion of closeness to being correct; one flipped bit can change the entire sense of a program. I hasten to add that Michael A. Cusumano (about whose "Technology Strategy and Management" column "The Puzzle of Japanese Software," July 2005, Paulson was commenting) is at least as aware of this pearl of wisdom as I am, but speaking of technology management I feel disbelief regarding the number of U.S. managers still surprised that the computer-based control systems they are in charge of producing contain an unconscionable number of system-crippling bugs.

This manager, for one, is tired of having to cajole software engineers into taking correctness seriously and hankers for engineers able to practice such "an overly rigid style of development."

This diatribe is not aimed at Cusumano but rather at cultural factors (such as the primacy of time-to-market) that tend to marginalize conscientious, mathematically educated and oriented software engineers crucial to the development of safety- and security-critical systems. It’s difficult to imagine anyone more innovative than the late E.W. Dijkstra, who was also the pinnacle of rigor and clarity. I can only admire the Japanese for (apparently) emulating him.

George Hacken
Wayne, NJ

I was disappointed by Michael A. Cusumano’s response (Forum, Nov. 2005) to the comments by Lawrence C. Paulson about his column (July 2005). Cusumano was apparently assuming that software vendors are able to control the types of applications in which their products will ultimately be used. This might be true for traditional physical products but not necessarily for software products. For example, many of the off-the-shelf software products used in mission-critical operations lack the robustness necessary to provide such operations. Innovation comes from new or novel applications of technology to help solve problems or make some task easier or more reliable, not from adding esoteric features that only make the system more complex and less usable or stable.

David P. Duggan
Albuquerque, NM

Back to Top

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More