Wednesday, August 10, 2005

Is the Thrill Gone?

Sanjeev Arora and Bernard Chazelle write the Viewpoint Column Is the Thrill Gone? in this months Communications of the ACM.
One wonders if the failure of computer scientists to articulate the intellectual excitement of their field is not one of the causes of their current funding crisis in the US. Too often policymakers, and hence funding agencies, treat computer science as a provider of services and infrastructure rather than an exciting discipline worth studying on its own. Our promises of future technological innovations and scientific advances will be more credible to them if they actually understand that past and current breakthroughs arose from an underlying science rather than a one-time investment in "infrastructure."

We think it is high time that the computer science community should reveal to the public our best kept secret: our work is exciting science—and indispensable to the nation.

You would think that Arora and Chazelle are preaching to the choir by publishing in the communications of the main computer science academic society. But the ACM also tries to represent the broader computer professional and the CACM reflects these mixed priorities. Each month CACM takes some current topic (Spyware this month) and has a collection of academic papers on that topic that look of little direct interest to practitioners. (Compare this approach with Technology Review that hires science writers to explain the work of academic and industrial researchers.)

So we need people like Arora and Chazelle to remind the ACM about the science in computer science. We need a separate Computing Research Association to push the computer science research agenda. And most importantly, as Arora and Chazelle say, we need to make broader public aware of the excitement and importance of computer science.


  1. This may be related to the public perception of computer science. When I say that I'm a computer scientist, a not too uncommon reaction is "can you tell me why my PC doesn't work?" (although this is less true today than it was twenty years ago) while if you tell somebody you're a physicist, I'm sure the reaction "can you tell me how to fix my car's engine?" is quite rare. Do other computer scientists find this to be true, as well? How about readers in other fields of science or engineering?

    All the more reason to have an organization whose purpose is to try to do something to change this.

  2. For someone that doesn't know about the field, i could understand why CS might seem a bit dull. Compared to other fields, CS probably has the least-exciting first impression. We have to some how let people see past the pages of code and algorithms and view everything as one exciting concept. I'm not quite sure what that concept is...but i knew since i was 15 that problem solving mixed with the help of computer programming languages was the most exciting topic for me. Can't explain just was.

  3. Maybe a general perception of dull practicality is true, more of less, for all of the engineering disciplines. I suspect that a random citizen might think mechanical, civil, chemical, or electrical engineering don't sound very exciting, either. It's easier to imagine there are deep and ancient mysteries at the core of Physics, Chemistry and Mathematics.

  4. The average person knows what Mathematicians and Physicists do because they've all taken math and physics in high school. Even if they didn't care for them much, at least they developed a basic understanding of what they're about. Unless real computer science (as opposed to learning MS Office or programming calculators) is taught in high school, I don't think anyone will know or care about what we do.

    Another issue is within our own community. How can we convince non-CS people about the importance and depth of our field if we can't even argue the case to our own community. Unlike theoretical physicists and mathematicians, theoretical computer scientists still have to justify theoretical research to their non-theory colleagues.

    Finally, I think the exposure to theory at the undergraduate level is also problematic. It took me until I was a senior in college to realize that there were other things in CS that were interesting and worth pursuing besides networking, operating systems and programming. The reason was that the only non-engineering ideas we were exposed to were algorithm design and analysis, and I didn't particularly care for designing or analyzing faster sorting algorithms. But no one ever mentioned complexity theory, cryptography, computational geometry, quantum computing etc...

  5. If my kids were going to have some computer science in high school, I wouldn't want them to learn practical-minded computer science, any more than car maintenance instead of physics. I would see it as a waste of time at that age, time which should be spent shaping the mind. I'd be happy for them to learn mind-opening concepts such as undecidability, randomized algorithms, public key cryptosystems, and possibly have them work on a project where the issue of algorithmic efficiency is crucial to success. These are just examples: what I would really like is for them to learn universal concepts which are not time-dependent and will still be just as relevant in 20 years.

    Then those high schoolers who are going to become scientists might get excited about computer science.

  6. I find the last poster's comments to be dangerously narrow in focus. Besides the fact that undecidability, etc. are fairly deep concepts that are hard to *appreciate* at a high school level (NB: appreciation often comes long after understanding), these eternal facts offer very little by way of imagination. If one looks at the fields that are successful in attracting smart young talent (e.g., physics or biology or medicine or law or service or even American football), there is often (of course, not always) a "dream" underlying the story --- "I will find a cure for diabetes", "I will fly to Mars", "I will map out the DNA", "I will fight to put an end to hunger in ...", "I will play wide receiver for the Steelers", etc. Computer Science, on the other hand, seems to be less known in this light among highschoolers. I think the last time it happened was when AI and virtual reality were still in vogue; perhaps it is important to do what it takes to nurture dreams like "I will build a real quantum computer" or "I will build a robot that can fly a model airplane", etc. -- problems that are easy to *appreciate* for a highschooler.

    Anyone have other interesting candidates (besides "I will find an algorithm for NP-complete problems")?

    D. Sivakumar

  7. I am resolved to show my children the serious side of computers before they leave the nest. It is clear to me that the right starting point is algorithm-oriented computer programming. That was the way that I learned it; one of the first programs that I ever wrote was the classical O(sqrt(N)) time factoring algorithm. At that time, BASIC was the language of choice; nowadays Java is a common choice and I personally recommend Python. Never mind that BASIC is gauche. It was a great institution, and I think that something has been lost now that so many more children play computer games than write them. Even those who just copied code listings at least learned something.

    I agree that mathematics standards in public school are a powerful (if tragically truncated) influence on American society. Undoubtedly computer scientists could push for more in the same vein. The AP courses in computer science look like a very reasonable base from which to expand.

    As you plow on, you will obviously have to keep the establishment from dumbing down the syllabi with silver-spoon API libraries, operating system how-to, Internet how-to, and so on. But once state standards or College Board standards are on the table, you can at least have the dispute.

    I also don't agree that the average person knows what a mathematician does. I have talked to many people who are completely bemused by the idea of research in mathematics, because their conception of mathematics stops at Robert Recorde.

  8. Somewhat offtopic but the mention of "internet howto" by Greg reminds me: Actually I would like the schools to have classes about "internet skills", but concentrating on the more elusive ones: Information consumption and handling, distilling truths from multiple biased information sources, "full picture reconstruction", etc. The days where one could just trust the friendly neighborhood news anchor are over (if they had ever existed). Now I wonder which current academic discipline if any is capable of formulating a curriculum on such skills...

  9. If I tell my barber that I am a professor of computer science, he asks me about how to get all the spyware off his computer. If I tell my barber that I am a professor of mathematics, he asks me if I am writing an algebra textbook, and if so, do we really need another one?

  10. Ed Lee at CMU has noted that engineernig students
    are driven by the market while science/math
    students are driven by excitement. Note that these
    departments are SMALLER than engineering
    departments. I think Ed is right that we need to start
    acting more like science/math and stress
    thosethings tha are fundamental. We would still
    likely get smaller departments, but probably better
    students. Few of the undergrads I know in
    Chemistry actually work in Chemistry after
    graduation. Many get MBAs or go to
    med school, but they all thought that their chemistry
    training was intellectually exciting. So maybe CS
    needs to stress that many won't work in computing, but that you will learn many exciting concepts (other
    than programming) that will be useful if you go to
    law school or get an MBA or whatever.

  11. " dreams like " I will solve global warming.
    Via the Internet, I will bring the world to people in their homes so that nobody needs to drive to work or school or the mall any more and everything is done remotely.

    Wait, isn't the computer science part of that project already completed?


  12. If I tell my barber that I am a professor of computer science, he asks me about how to get all the spyware off his computer. If I tell my barber that I am a professor of mathematics, he asks me if I am writing an algebra textbook, and if so, do we really need another one?

    So stop telling him that you are a
    computer scientist or a mathematician.
    Tell him that you are an "algorithmic
    game theorist", or "complexity theorist",
    or whatever. That will either (a) shut
    him up, or (b) spur him on to ask more.
    If (a), well and good. If (b) start
    talking about the technicalities of your
    field. That will surely shut him up :-)

  13. I think the previous commenter's suggestions typify what is wrong with us in making the general public aware of (theoretical) CS. If you replace the barber by a congressman, pretty much the same can be expected on the other side, but from our side the consequences are disastrous.