Applying a knowledge-generation epistemological approach to computer sci- ence and software engineering education

This paper proposes a brief exploration of the epistemology of knowledge, specifically distinguishing the development of scientific knowledge from the development of engineering knowledge. Based on a pragmatic theory approach (1), the paper proposes a pattern for distinguishing the ‘science’ of computer science from its ‘engineering’ aspects. The paper then applies these distinctions to traditional Computer Science knowledge, and explores its relationship to ‘engineering science’. The implications of this knowledge-generation approach to discipline exploration are then applied to Software Engineering as an engineering discipline. This application aims at distinguishing Software Engineering from the scientific and engineering aspects of Computer Science. A cursory introduction to the literature of the philosophy of engineering reveals competing viewpoints on what distinguishes scientific from engineering knowledge, including engineering (and technology) as applied science (2 p. 42) and the influence of knowledge generation as a means to distinguish between ‘scientific’ and ‘engineering’ knowledge. When seen through the lens of a pragmatic theory of knowledge, the crucial characteristics of scientific knowledge include that scientific knowledge is theory bound, and scientific knowledge is developed to explain the way the world works. (1 p. 2) Engineering knowledge can be considered a distinct form of knowledge since scientific and engineering knowledge aim at different ends. In short, science aims to explain and technology/engineering aims to create artifices. "Technology, though it may apply science, is not the same as or entirely applied science" (3 p. 4).

[1]  C. I. Lewis,et al.  An Analysis of Knowledge and Valuation. , 1947 .

[2]  James S. Albertson Insight: A Study of Human Understanding , 1958 .

[3]  M. Polanyi Personal Knowledge: Towards a post-critical philosophy , 1959 .

[4]  Frederick P. Brooks,et al.  The computer scientist as toolsmith II , 1996, CACM.

[5]  Leon S. Levy,et al.  The academic image of computer science , 1978, SGCS.

[6]  Timothy R. Colburn Philosophy and Computer Science , 1999 .

[7]  Paul S. Rosenbloom,et al.  A New Framework for Computer Science and Engineering , 2004, Computer.

[8]  W. Vanderburg Living in the Labyrinth of Technology , 2005 .

[9]  Pitirim A. Sorokin,et al.  Social and Cultural Dynamics , 1938 .

[10]  Walter G. Vincenti,et al.  What Engineers Know and How They Know It: Analytical Studies from Aeronautical History , 1990 .

[11]  Mark Guzdial,et al.  Computer Science Curriculum 2008: An Interim Revision of CS 2001 , 2008 .

[12]  Peter Fletcher,et al.  Readers' corner: The role of experiments in computer science , 1995, J. Syst. Softw..

[13]  Joseph C. Pitt,et al.  What Engineers Know , 2001 .

[14]  Richard Devon,et al.  Technology Literacy For The Technologically Literate , 2007 .

[15]  P. Henle,et al.  An Analysis of Knowledge and Valuation , 1948 .

[16]  Paul T. Durbin,et al.  Multiple Facets of Philosophy and Engineering , 2009 .

[17]  David E. Goldberg,et al.  Philosophy and engineering : an emerging agenda , 2010 .

[18]  Joseph C. Pitt,et al.  Thinking About Technology: Foundations of the Philosophy of Technology , 1999 .

[19]  Matti Tedre,et al.  Know Your Discipline: Teaching the Philosophy of Computer Science , 2007, J. Inf. Technol. Educ..

[20]  Peter J. Denning,et al.  Computing is a natural science , 2007, CACM.

[21]  Michael P. Kelly Personal Knowledge: Toward a Post-Critical Philosophy , 1963 .

[22]  Venkataraman Ramesh,et al.  Research in Information Systems: An Empirical Study of Diversity in the Discipline and Its Journals , 2002, J. Manag. Inf. Syst..