How old is computer science (and why does it matter)?

The field of mathematics is at least 5,000 years old; we can trace its origins to Mesopotamia [1].

Physics is at least 2,500 years old; in classical Greece, scholars knew the Earth was round [2].

Chemistry dates from about 250 years ago, to the late 1700s. Some consider the work of Antoine Lavoisier, “who developed a law of conservation of mass that demanded careful measurement and quantitative observations of chemical phenomena,” as marking the beginning of modern chemistry [3].

What about computer science?

We can go back to Charles Babbage, and his work on the Difference Engine and the Analytical Engine, beginning in the 1820s. That’s about 200 years ago [4].

The theoretical foundations for computing date from the early 1900s. These were established by the invention of the lambda calculus, by Alonzo Church in the 1930s, and the Turing machine formalism, by Alan Turing in 1936.

Fun facts: (a) Lambda calculus is a way of describing computations via compositions of mathematical functions. Understanding it provides an incredible insight into recursion, but doesn’t help you understand how to build a computer. (b) The Turing machine abstraction, on the other hand, describes a “tape” which has a linear series of memory cells, a “head” for reading and writing data to the cell underneath the head, and a set of rules for deciding what to do at each step and which way the head should move next. It’s a lot more like an actual machine (and hence its name). (c) Also, Alonzo Church (inventor of the lambda calculus) was the doctoral adviser of Alan Turing!

It was a decade after this work, in the late 1940s, that the idea of a stored-program computer was introduced, by John von Neumann [5].

I’d say these are the key moments in the history of the ideas behind computing.

When did computer science professionalize?

Another way of marking history is to look at professional organizations.

The Association for Computing Machinery (ACM) was founded in 1947 [6], and SIGCSE, the Special Interest Group for Computer Science Education, held its first annual Symposium in 1970 (next year in 2019 will be its 50th meeting!) [7].

At the university level, “departments of computer science” didn’t become widespread until the 1980s—about 35 years ago! [8]

Our own Computer Science Teachers Association was founded in 2004—meaning next year will be our fifteen year [9]. By comparison, the US-based National Council of Teachers of Mathematics (NCTM) inaugurated its first president in 1920—it’s nearly 100 years old! [10].

What about computing in K–12 schools?

Seymour Papert, with Cynthia Solomon, and others, did their foundational work on Logo beginning in the late 1960s.

In the United States, it wasn’t until computers like the Texas Instruments TI-99/4 (1981), the Apple IIe (1983) and the IBM PCjr (1984) shipped that computers started to enter schools in large numbers.

That’s also about 35 years ago.

Why does this history matter?

We need to remember that we all are the pioneers at the beginning of a vast intellectual and cultural journey.

At the higher ed level, what’s remarkable about computer science curricula is that smart minds don’t agree! Some CS departments start with Java and teach the machine late. Others start with C, introduce the machine early, and teach abstract principles late.

That’s just one example of the diversity in university CS curricula. There are many others.

Compare this to mathematics and physics. In those disciplines, everyone knows that the “correct answer” is to teach differentiation followed by integration (Calculus I and II) and mechanics followed by electromagnetism (Physics I and II). Practically every first year science and engineering student across the United States will take courses in that sequence.

Our field is nothing like this. We are still figuring out what works. (Probably, lots of sequences will work, and I personally hope that we never arrive at a “best” answer.)

In K–12, we are exploring integrating computer science into other subjects—for example, using modeling and simulation in understanding science.

Ours is the really exciting time. We should revel in being the pioneers—our work has the chance to set the direction in our field for a long time to come.

head shot of Fred Martin, chair of board of directors

Fred Martin, Chair of Board of Directors

Sources:

  1. en.wikipedia.org/wiki/History_of_mathematics
  2. en.wikipedia.org/wiki/History_of_physics
  3. en.wikipedia.org/wiki/History_of_chemistry
  4. www.computerhistory.org/babbage/
  5. www.britannica.com/technology/stored-program-concept
  6. www.acm.org/about-acm/acm-history
  7. users.cs.duke.edu/~rodger/sigcseconferences.html
  8. csrankings.org
  9. www.csteachers.org/page/About
  10. www.nctm.org/About/President,-Board-and-Committees/History-of-the-NCTM-Board/
This entry was posted in Points of Interest by Fred Martin. Bookmark the permalink.

About Fred Martin

Fred Martin is a faculty member at the University of Massachusetts Lowell, where he is associate dean for teaching, learning, and undergraduate studies in the Kennedy College of Sciences and professor of computer science. He has been serving on the board of CSTA since 2014, and is past-chair of CSTA's Board of Directors.