A CS department is not a cheap software house

Computer Science—or if you prefer: Computing Science, Informatics, Computing, Computer Engineering, or similar—suffers from an image problem for quite some time on several fronts. One of them is that non-informaticians seem to think that a computer science department is there as a ‘science-supporting’ or ‘facilitating’ department. In principle, it is not (although given certain circumstances, that is what it ends up to be in some cases).

On the comical side, there are t-shirts with the slogan “no, I will not fix your computer”. One BSc graduate here at UniBz actually used that phrase during her speech at the degree ceremony last December, which generated laughs from the audience, but they probably did not give it a second thought. In addition to the philosophy of CS, about which I wrote earlier, and an unambiguous paper about paradigms in computer science [1], there is another source I recommend people to have a look at. It is the final report of the Task Force on the Core of Computer Science [2] which “presents a new intellectual framework for the discipline of computing and a new basis for computing curricula.”. It (i) outlines the paradigms for the discipline, (ii) has a long and a short description of computing, the short one being:

The discipline of computing is the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application. The fundamental question underlying all of computing is, “What can be (efficiently) automated?”

and (iii) presents a matrix with three columns “Theory”, “Abstraction” and “Design” as complementary aspects of computing and 9 rows for the principal sub-disciplines, such as HCI, databases and information retrieval, operating systems, and architecture. Its 7-page appendix lists the suggested contents for those 29 cells in the matrix. An no, there is no ‘you should become a software house’, not even close.

So, from where could non-informatics people have gotten the idea of CS as a supporting, facilitating discipline and software house? Perhaps Dijkstra’s [3] famous complaint gives a clue:

So, if I look into my foggy crystal ball at the future of computing science education, I overwhelmingly see the depressing picture of ‘‘Business as usual’’. The universities will continue to lack the courage to teach hard science, they will continue to misguide the students, and each next stage of infantilization of the curriculum will be hailed as educational progress.

That having occurred in multiple CS curricula, perhaps CS curricula developers are to blame, or their bending over and trying to meet outside demands to produce graduates with short-lived skills that are instantly usable in industry and to improve throughput statistics of students graduating from the programme within the nominal time of study. Did anyone do a proper study about that or are they just commonly held assumptions and excuses?

A wholly different argument that CS departments are not there ‘at your service’ has been put forward by Dieter Fensel and Dieter Wolf [4], which I wrote about before here. They claim that computer science will become the foundation of the sciences because it has information processing and knowledge management (and goal-oriented services) at its core. From their perspective, then given that physics, biology and neuroscience deal with specific types/sections of information and knowledge management, they are (or become) branches of computer science. Just think of it for a moment. We would have, say, genetics as applied computer science, but not computer science as a service and facilitator for genetics. No ‘blue-collar bioinformatician’, but a ‘blue-collar wet-lab geneticist’ collecting the raw data. Unsurprisingly, during the workshop where Fensel presented his proposal, the philosophers were not charmed with that view. And I can imagine geneticists will not be pleased with inverting the cores and corresponding roles either: obviously, genetics is a science—but so is computing. Dijkstra [3] gives a more modest, but only slightly, view for the future of computer science than Fensel and Wolf did:

In the long run I expect computing science to transcend its parent disciplines, mathematics and logic, by effectively realizing a significant part of Leibniz’s Dream of providing symbolic calculation as an alternative to human reasoning. (Please note the difference between “mimicking” and “providing an alternative to”: alternatives are allowed to be better.)

.

We’re not some underpaid service-oriented software house; if you want industry-grade software and customer service, you’ll have to fork out the money and, well, ask industry to develop the software. Having said that, I’ll admit that CS departments, in general, should improve on respecting and valuing domain experts. For instance, one CS professor thinks of possible collaboration as “their benefit is that we can play with their data” or, phrased differently: we get something out of it, but the user only should put effort and resources in the endeavour but not expect anything in return. I do not think it is realistic to expect that domain experts are, or want to be, that philanthropic in a collaboration—collaborations ought to be mutually beneficial. A ‘use and throw away’ attitude might achieve short-term gains on the CS-side, but such a win-lose approach is not sustainable in the long run. Après-moi le deluge, an older and tenured CS prof might think, but (i) the younger generations cannot afford such ‘luxuries’ for their horizons reach farther (time-wise, at least, and possibly also with respect to career aims), and (ii) if producing software is part of the research task, then doing the work up to a working prototype should be part of researcher’s honesty and science ethics anyway, in particular when papers are published about it.

Maybe CS should knock on the doors of a marketing company and ask for brand positioning services so that CS-offers can be harmonised better with non-informatician demands and expectations.

[1] Amnon H. Eden. Three paradigms of computer science. Minds & Machines, 2007, 17: 135-167.

[2] Peter J. Denning, Douglas E. Comer, David Gries, Michael C. Mulder, Allen Tucker, A. Joe Turner, and Paul R. Young. Computing as a Discipline. Communications of the ACM, 1989, 32(1): 9-23.

[3] Dijkstra, E.W. (1988). On the cruelty of really teaching computing science. Unpublished manuscript EWD 1036.

[4] Fensel, D., Wolf, D. The Scientific Role of Computer Science in the 21st Century. Third International Workshop on Philosophy and Informatics (WSPI06), Saarbrücken, 3-4 May 2006. pp33-46.

Advertisements

5 responses to “A CS department is not a cheap software house

  1. I should read your blog more often

    let’s see:
    I see most of the disciplines as tools to reap data, as are most methods to process data. but the contextualization (enter OBDA) and the emergence of something bigger than its components is essential to the disciplines, and is the science behind it.

    sorry, this makes no sense. I’ll get some coffee first

    m

  2. Hi Mark,

    The second sentence does make sense. At least, I read in it that you meant to say that for the interdiciplinary research, one can/should expect something new comes out of the combination that is an advancement w.r.t. the state of the art in all the disciplines participating in the combination.

    And, to turn it around a bit, perhaps that you do not expect or aim for that in the interdisciplinary research one is the ‘feeder’ with nothing “bigger” coming out of it whereas for another participating discipline, there is some advancement being made?

    m

  3. well…

    in some cases there are feeders, but these are usually providers of certain … abilities. proteomics is an example that springs to mind. that we have done by specialists who charge us money. but that’s not what you mean.

    I tend to be on the ‘let’s do this’ side, and with ‘let’s’ I mean ‘let us’. it’s a joint effort, which can be mostly going towards the discipline in which I am loitering, or in the other discipline, in which I see myself as an interested tourist, who wants to try out new things and take pictures.

    but this is not advancing your blog to a higher level.

    m (the original one)

  4. CS people need to be bolder in asking for grants. They should
    ask for millions to hire biologists to go out and buy equipment, collect
    data etc. The CS people will then formulate the experiment, consider the data and process it rationally and publish the conclusions 😉

  5. anon, now that would be some situation I’d rather avoid, given that the average level of understanding of biology by a CS person does not exceed rusty high school textbook knowledge. Out of curiosity though, it could be a fun experiment to see what actually comes out of such an inversion 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s