What Sciences Are There?

The Software Carpentry pre-assessment questionnaire for bootcamp participants ask them to tell us what field they're in. The options we give them are usually some variation on:

  • Space sciences
  • Physics
  • Chemistry
  • Earth sciences (geology, oceanography, meteorology)
  • "Macro" life science (ecology, zoology, botany)
  • "Micro" life science (microbiology, genetics)
  • Neuroscience
  • Medicine
  • Engineering (civil, mechanical, chemical)
  • Computer science and electrical engineering
  • Economics
  • Humanities and social sciences
  • Library sciences
  • Other: ______________________________

People frequently use the "Other" field to tell us that their specialty doesn't fit any of our categories, or that the categories themselves don't make sense. I agree with the complaint, and would be happy to use some sort of validated standard taxonomy—except none seems to exist. Journals and professional societies all have classification schemes, but they tend to be very fish-eyed (lots of specialized subdivisions in their own area, but broader and vaguer the further away you go).

This issue led me to look at the ACM's newest classification system for computer science topics, which in turn led me to ask, "What is 'computer science' these days anyway?" The most pragmatic answer is, "Whatever people who call themselves computer scientists do," so I downloaded this dataset of 2200 faculty at 50 top schools in the US and sorted specialties by frequency. The results puzzled me:

Algorithms & Theory 292
Networks & Communications 163
Hardware & Architecture 150
Artificial Intelligence 146
Bioinformatics & Computational Biology 131
Human-Computer Interaction 126
Security & Privacy 121
Graphics 115
Programming Languages 99
Machine Learning & Pattern Recognition 93
Distributed & Parallel Computing 92
Computer Vision 90
Scientific Computing 89
Software Engineering 82
Databases 77
Operating Systems 70
Natural Language & Speech 52
Computer Education 47
Real-Time & Embedded Systems 33
Data Mining 31
Multimedia 15
Information Retrieval 6
World Wide Web 5

First, why is "Bioinformatics & Computational Biology" not counted as "Scientific Computing"? Second, where is "Numerical Methods"? I know it's not as popular a subject as it was forty years ago; are its practitioners now counted under "Scientific Computing"?

And third, look how far down the list "Software Engineering" is. Those are the people who study how we create software and tell if it's correct; I know I'm biased, but I believe those are the two biggest issues in all of computing. The fact that even scientific-computing-minus-bioinformatics is larger is yet another sign of the gap between what practitioners want, and what researchers study.