Teaching basic lab skills
for research computing

Computer Supported Collaborative Science

I've used the term "CSCS" a few times now; time to start groping toward a definition. "Computer supported collaborative science" (CSCS) is a specialization of computer supported collaborative work, which is the study of "how collaborative activities and their coordination can be supported by means of computer systems". Insert the word "scientific", and you have CSCS. More specifically, CSCS includes science 2.0, open notebook science, reproducible research, workflow & provenance, and other things modern computing technology can do to help scientists find and share information.

Another way to look at CSCS is "areas where typical researchers in software engineering and/or HCI can directly help scientists". The word "typical" rules out HPC, numerical methods, very large databases, and a whole bunch of other "computational science 1.0" topics, since most SE/HCI people don't have the background for those. The stuff that falls under "e-science" or "grid science" (depending on which side of the Atlantic you're on, and which grant agency you're trying to seduce) might or might not be included, depending on which part you're looking at—there's certainly overlap. The same goes for the semantic web, data visualization, and a bunch of other things.

Ironically, it's not clear whether traditional software engineering research falls under the CSCS heading either, at least not if you define SE as the study of software construction—it takes a lot of SE skill to build the kinds of things CSCS is about, but I don't see where CSCS requires the invention or study of new ways of building things. On the other hand, if your definition of SE includes end-user programming or the study of how to do empirical studies of tools and techniques in action, then there's definitely overlap with CSCS.

So that's my opening shot: anyone want to volley it back?

Dialogue & Discussion

You can review our commenting policy here.