If you studied computer science, did your undergrad alma mater or your graduate school have a CS culture? Did any of your professors offer a coherent picture of CS as a serious intellectual discipline, worthy of study independent of specific technologies and languages?
In graduate school, my advisor and I talked philosophically about CS, artificial intelligence, and knowledge in a way that stoked my interest in computing as a coherent discipline. A few of my colleagues shared our interests, but many of fellow graduate students were more interested in specific problems and solutions. They viewed our philosophical explorations as diversions from the main attraction.
Unfortunately, when I look around at undergrad CS programs, I rarely see a CS culture. This true of what I see at my own university, at my friends’ schools, and at schools I encounter professionally. Some programs do better than others, but most of us could do better. Some of our students would appreciate the intellectual challenge that is computer science beyond installing the latest version of Linux or making Eclipse work with SVN.
Is CS a hollow shell of a discipline, a discipline with no overarching philosophy or narrative, no deep mysteries to plumb? Do physics and chemistry and math and biology all have these coherent narrative structures, a list of great accomplishments and even greater unsolved mysteries, a “way of doing things” that CS lacks?
Part of what makes it hard to judge is that CS is such a new discipline that the cultural perspectives it has carried over from it’s parent disciplines — electrical engineering and math, primarily — obscure what’s unique. And that tension between science and engineering pervades computing at every level. Perhaps it’s unfair to only compare CS to science disciplines, maybe the culture of engineering needs to be thrown in there as well. As since there’s so much business and organizational computing that gets done too, maybe there’s an applications-oriented almost-business culture that seeps in at the edges as well.
Of course, there’s no real, definitive answer to the question, only approximations. At some point, a wave function may collapse and we’ll be able to observe a final answer. But not yet, I think.
So, what do you think? Does computer science have a culture? If so, what are the beliefs and behaviours that underpin it? What are its shared attitudes, values, goals, and practices?
(But what got Eugene thinking about this in the first place? It was Zed A. Shaw’s post Go To University, Not For CS. It’s not directly related to the direction I’ve taken here still very interesting. It’s more about CS supposedly having a shallow intellectual/scientific culture.)