Know Your Discipline: Teaching the Philosophy of Computer Science

By Tedre, Matti | Journal of Information Technology Education, Annual 2007 | Go to article overview
Save to active project

Know Your Discipline: Teaching the Philosophy of Computer Science

Tedre, Matti, Journal of Information Technology Education


Computer science is a relatively young discipline. Its birth can be traced to the 1940s, when wider academic interest in automatic computing was triggered by the construction of the first fully electronic, digital, Turing-complete computer, ENIAC, in 1945 and the concomitant birth of the stored-program paradigm (see, e.g., Aspray, 2000). It still took some 20 years for computer science to achieve a disciplinary identity distinct from fields such as mathematics, electrical engineering, physics, and logic (cf. Atchison et al., 1968; Rice & Rosen, 2004). Throughout the short history of electronic digital computing, there has been a great variety of approaches, definitions, and outlooks on computing as a discipline. Arguments about the content of the field, its methods, and its aims have sometimes been fierce, and the rapid pace of extension of the field has made it even harder to define computer science (see Tedre, 2006, pp. 255-351).

Over the last 60 years, researchers in the fields of computing have brought together a variety of scientific disciplines and research methodologies. The resulting science--computer science--offers a variety of ways for explaining phenomena; most notably it offers computational models and algorithms. The increased investments in research efforts in computer science have been paralleled by the growth of the number of computing-centered fields, such as computer engineering, scientific computation, electrical engineering, decision support systems, architectural design, and software engineering.

Although interdisciplinarity has made the development of computer science possible in the first place (cf. Bowles, 1996; Puchta, 1996; Williams, 1985, p. 209), it also poses a very real challenge to computer scientists. Firstly, it is not certain what kinds of topics should be considered to be computer science proper. The attempts to describe computer science are invariably either very narrow and applicable to only some subfields of computer science (e.g., Dijkstra, 1974), or so broad that they do not exclude much (e.g., Newell, Perlis, & Simon, 1967). Secondly, it is very difficult to come up with an overarching set of rules of how computer science research should ideally be done. The subjects that computer scientists study include, for instance, programs, logic, formulae, people, complexity, machines, usability, and systems. An overarching set of rules for computer science research should cover research in fields such as software engineering, complexity theory, usability, the psychology of programming, management information systems, virtual reality, and architectural design. It is uncertain if an overarching, all-inclusive definition of computer science is possible, and if such definition is even necessary.

It is important for computer scientists to understand the challenges (and possibilities) that the vast diversity of computer science research can cause. Many disputes about how computer scientists should work have their roots in different conceptions about what computer science actually is (cf. Denning et al., 1989). Many misunderstandings and controversies between scientists from different branches of computer science might be avoided by their understanding the research traditions within which people in those branches work.

Even more importantly, computer scientists must know that the same approaches cannot be used with the whole variety of subjects that computer scientists study. Mathematical and computational models are precise and unambiguous, yet they are confined to the abstract world of mathematics and they fail to capture the richness of physical and social reality. Narratives and ethnographies are rich in dimension and sensitive to detail, yet equivocal and context-dependent. Narratives have little use in deriving formulae, and formal proofs have little explanatory power regarding usability.

It has been argued that there are three particularly lucid traditions in computer science: the theoretical tradition, the empirical tradition, and the engineering tradition (cf.

The rest of this article is only available to active members of Questia

Sign up now for a free, 1-day trial and receive full access to:

  • Questia's entire collection
  • Automatic bibliography creation
  • More helpful research tools like notes, citations, and highlights
  • Ad-free environment

Already a member? Log in now.

Notes for this article

Add a new note
If you are trying to select text to create highlights or citations, remember that you must now click or tap on the first word, and then click or tap on the last word.
Loading One moment ...
Project items
Cite this article

Cited article

Citations are available only to our active members.
Sign up now to cite pages or passages in MLA, APA and Chicago citation styles.

Cited article

Know Your Discipline: Teaching the Philosophy of Computer Science


Text size Smaller Larger
Search within

Search within this article

Look up

Look up a word

  • Dictionary
  • Thesaurus
Please submit a word or phrase above.
Print this page

Print this page

Why can't I print more than one page at a time?

While we understand printed pages are helpful to our users, this limitation is necessary to help protect our publishers' copyrighted material and prevent its unlawful distribution. We are sorry for any inconvenience.
Full screen

matching results for page

Cited passage

Citations are available only to our active members.
Sign up now to cite pages or passages in MLA, APA and Chicago citation styles.

Cited passage

Welcome to the new Questia Reader

The Questia Reader has been updated to provide you with an even better online reading experience.  It is now 100% Responsive, which means you can read our books and articles on any sized device you wish.  All of your favorite tools like notes, highlights, and citations are still here, but the way you select text has been updated to be easier to use, especially on touchscreen devices.  Here's how:

1. Click or tap the first word you want to select.
2. Click or tap the last word you want to select.

OK, got it!

Thanks for trying Questia!

Please continue trying out our research tools, but please note, full functionality is available only to our active members.

Your work will be lost once you leave this Web page.

For full access in an ad-free environment, sign up now for a FREE, 1-day trial.

Already a member? Log in now.

Are you sure you want to delete this highlight?