Saturday, April 4, 2009

Is This Science?

One of the most common questions computer science professors used to ask about my research went something like this: "What you're doing is very clever, and I see how it's useful, but how is it science?" At first, I tried coming up with convoluted explanations for why my research was actually scientific and even went and published a paper in the journal named Science. But I've been told that the best defense is a good offense, so at some point I switched to answering with something like "It's not. How is your research science?"

Fortunately, this type of questioning has stopped. Perhaps the word got around that I myself didn't consider my research science so people just stopped asking. But the one thing that always struck me was how most computer science professors could not answer this question adequately about their own research. Which made wonder: is computer science really a science? It has a lot of math, but math is not science. It also has a lot of engineering -- I'm not 100% sure what the difference is between engineering and science, but I'm told there is one.

I do find it funny that you can get a PhD in computer "science" without ever having taken a class in experimental design, in research methods or in statistics. I also find it funny that we need to put the word "science" in the name of our field: political science, actuarial science, computer science.

I'm not sure whether cs is actually a science, but the real question is "who cares?" I don't.


  1. This comment has been removed by the author.

  2. CACM had an article by Peter Denning about this a couple of years ago:

    I once had a taxi driver ask me what I did, and when I told him I was a Computer Scientist, he proceeded to pepper me with questions: "What's computer **science**?" To him, computers were just a tool, a box to run Word and a browser, so the very idea of Computer Science was alien to him. Basically, I explained to him that Computer Science is the field of studying how to make computers faster, smaller, cheaper, smarter, and more powerful. He seemed to get that.

  3. I agree it sounds silly to tack "science" on the end of everything. The ironic thing is that some people without "science" in their title act more scientifically than people who do have the title.

    For example, some business people are more scientific than some scientists. Business people are eager to collect data, analyze it, and act on it. Professional scientists are sometimes reluctant to do that.

  4. Taxi drivers...I find it more amusing to lie to them and tell them you're something else, like a clown apprentice.

  5. I wasn't have been so concerned about the question of whether computer science until last year's piece in Wired entitled "The End of Theory: The Data Deluge Makes the Scientific Method Obsolete, which I had recent occasion to revisit.

    Some of what is called computer science is pure or applied mathematics--which gets lumped into the sciences even though it's largely non-empirical studies don't call for the use of the scientific method. Other areas overlap with the natural and social sciences and should be using the scientific method to validate hypotheses.

    The question "is this science?" should really be "do you use the scientific method where it applies?"

  6. I sometimes feel flattered when I think that a person like Luis Von Ahn thinks in the same direction as I think :) I think so that the answer depends on how do you classify mathematics or experimental physics or chemistry. If mathematics is science than theoretical cs is science. If experimental physics is science than systems is science. However I personally think that more theoretical areas are science and the rest is engineering.
    But seriously I think that you are a combo of science+engineering (steganography+captchas)

  7. Typically, "science" is trying to uncover the "laws of nature" and the "why" and "what" question. Engineering is trying to discover "how" to do something.

    So, building an algorithm, system, or showing how to do something is typically classified as engineering.

    Proving the computational complexity of an algorithm, or simply showing that one system is better than the other falls under the science umbrella.

    So, CS is kind of strange as we building artifacts (engineering) but also trying to study their fundamental properties (science).

    In physics they study nature, so they do not create what they study.

    In economics, they study how people behave so again they have they do not create what they study. So both (economics and physics) fall under the "science" umbrella. (For economics there is a disagreement on whether it is a science as the "results" of economics may directly affect society and invalidate results.)

    The closest field that I can think of that both generates artifacts and studies their properties is field of "materials science"/"material engineering". Not surprisingly, there is also a discussion on whether it is science or engineering :-)

  8. I thought proving an algorithm's correctness was math, and math was not science.

  9. Where you come from, is a Bachelor's degree in Mathematics called a "B.Sc." or a "B.A."? Or something else? -AC

  10. In most schools in the US a bachelor in math can be either a B.S. or a B.A., but that's also true about a bachelor in e.g. philosophy.

  11. The terminology is a mess. & science seems to have more prestige than engineering, which may have a historical and class basis, the "gentleman" scientist vs. the proletarian engineer. And that's probably part of why some folks care about the terminology.

    It's all very silly, but then universities are often silly, no?

  12. Computer Science:

    List of things that I think fits more into science:
    - Halting Problem (engineers never try to prove something is impossible)
    - Finding upper and lower bounds (i.e. analyzing run time of algorithms in something other than just physical time)

    Other than that though I can't think of many things that make CS a science especially when I see many students scrambling through intel architecture datasheet to figure things out or insert a 'hack' in the code to make things "work".

  13. Luis, we can do a phd in science. We can do phd in mathematics, can we do phd in engineering?? Is it as reputable as doing a phd in science?? If it is then the answer to your question is "does not matter". If it is not than other researchers are justified in raising doubts over your research.
    However personally I am a fan of your work, be it research or not.

  14. For math and CS, to contrast with the "natural sciences" and the "social sciences", I have seen the names "abstract science" and "science of the artificial". Not that it really matters.

  15. Some computer science utilizes the scientific method. Since we are dealing with real objects: computers, we can apply the "theory" of computer science to the objects themselves, and then use the scientific method to prove our hypotheses.

    Not all computer science focuses on the run-times of algorithms or the nature of computability. Not all computer science is used to analyze mathematical concepts. Some computer science focuses on the phenomena arising from computers, rather than computer algorithms themselves. This applies to engineering fields like robotics, as well as to more scientific fields like simulation and modeling, and the analysis of social networks and political theory.

    I would go so far as to say most of what you do, Luis, is more scientific by far than what is typically considered to be "computer science." After all, you collect data in a system, test hypotheses, and write up your findings. I have read some of your publications, and there is indeed a lot of math, but there is also analysis of real data, and testing of ideas. If this is not science, I don't know what is.

  16. Actually, let me add to what I just said. I believe this topic requires a firm philosophical definition of science.

    What is science?

    I would like to lay out a couple of false claims about science:
    1. Science seeks to discover "the truth."
    --This claim is false. Science has no claim to "truth." The goal of Science is not to discover how things "really are." Science, in general, seeks to create models (called theories) which describe phenomena in the physical world. Science only seeks to discover "what works." When we say science has "discovered" something, we don't mean to say that it has discovered what "truly is," merely that it has discovered a model that seems to accurately predict data that arises in the real world.

    2. Science must always use experimentation and the scientific method. Hence, science cannot be used to study things which are not repeatable.
    -- This is also false. Suppose all science requires experimentation. Then what of cosmology? Cosmologists study things that happened very long ago, and are not repeatable. They cannot possibly observe, even indirectly, many of the things they postulate to exist... yet we still consider cosmology a science. What of theoretical physicists who study the evolution of systems that cannot possibly exist in nature? There must be something else, other than experimentation, which defines science. Clearly, the scientific method is important to science, but it does not define science.

    3. Science is concerned only with nature.
    --This, again, is false. Engineered systems have properties that are science can study. Human systems, theoretical systems, any kind of object that has properties which can be identified and tested can be analyzed by science. Even systems which cannot exist, but can only be theorized, can be analyzed by science, and the properties learned by this analysis can be applied to the real world.

    I would like to define science as a field of study that seeks to understand and model systems through rigorous analysis of data. This data can be collected by experimentation, by modeling, or by observation; but a clear indicator of science is that it generates theoretical models which make predictions, and seeks to improve these models with further analysis.

    I would like to define engineering as a field of study which seeks to build and design systems based on the information gained from scientific study of these systems.

    I believe that computer science is both a scientific and engineering field; and that computer scientists can take on many roles-- from the purely mathematical and theoretical, to the design of systems, to the rigorous scientific study of existing systems.

  17. "I have read some of your publications, and there is indeed a lot of math, but there is also analysis of real data, and testing of ideas. If this is not science, I don't know what is."

    I am also like Luis's work, but I am sure that is not remotely science. He does a lot of cool and important work but definitely its not science.

  18. Oh snap, *definitely* not science :) I'm glad I don't care.

  19. But you do a lot of cool stuff. That is important be it science or not.

  20. Computer Science might not be science, but Informatics is definitely science. Information is a physical, man-made phenomenon.

  21. There is a nice paper about the three running paradigms of computer "science" [1], concluding that only the scientific paradigm is viable in the long run (the 'rationalist' one is obsolete and the 'technocratic' one doomed). But there are philosophers who take another direction, e.g. [2] has a list of interesting research questions on figuring out what "computer science" is (or is not).

    [1] Amnon H. Eden. 2007. Three paradigms of computer science. Minds & Machines, 17: 135-167.
    [2] Turner, R. and Eden, A. The Philosophy of Computer Science. In: Stanford Encyclopedia of Philosophy, Zalta, E. (Ed.), published 12 Dec. 2008.

  22. Not to ignore all of these comments- but I love the fact that you turned your weakness into a strength there Luis. When someone questions the validity of your work based on a DEFINITION, it is obvious that the validity of their questioning should also be questioned.

    Way to turn the tables on them! I'm a CS student, but my professors at American Sentinel University ( aren't confrontational like that- nor is anyone else I've run into yet (though at top universities I'm sure the posturing/competitive types get more itense).

    Keep up the good work! Your blog has proven to both entertain and amaze me during study breaks, and I appreciate your well-thought out posts!

  23. Hi, can anybody explain to me why math is not a science?... I have a degree in Japanese linguistics from a Kazakhstani university :) so yeah, not a lot of math in that field! But Carl Friedrich Gauss said that Math is the Queen of the Sciences, so I assumed that it truly was a science...

  24. Take a look at this relevant presentation of
    Christos Papadimitiou ...