Minds and Machines

, Volume 21, Issue 2, pp 241–259

Decoupling as a Fundamental Value of Computer Science

Article

Abstract

Computer science is an engineering science whose objective is to determine how to best control interactions among computational objects. We argue that it is a fundamental computer science value to design computational objects so that the dependencies required by their interactions do not result in couplings, since coupling inhibits change. The nature of knowledge in any science is revealed by how concepts in that science change through paradigm shifts, so we analyze classic paradigm shifts in both natural and computer science in terms of decoupling. We show that decoupling pervades computer science both at its core and in the wider context of computing at large, and lies at the very heart of computer science’s value system.

Keywords

Decoupling Computer science Values 

References

  1. Colburn, T. (2003). Methodology of computer science. In L. Floridi (Ed.).Google Scholar
  2. Colburn, T., Shute, G. (2007). Abstraction in computer science. Minds and Machines: Journal for Artificial Intelligence, Philosophy, and Cognitive Science, 17(2): 169–184.Google Scholar
  3. Colburn, T., Shute, G. (2008), Metaphor in computer science. Journal of Applied Logic, 6(4): 526–533.CrossRefGoogle Scholar
  4. Colburn, T., Shute, G. (2010a), Abstraction, law, and freedom in computer science. Metaphilosophy, 41(3): 345—364CrossRefGoogle Scholar
  5. Colburn, T. & Shute, G. (2010b). Knowledge, truth, and values in computer science. In J. Vallverdu (Ed.), (pp. 119—131).Google Scholar
  6. Dahl, O., et al. (1971). Structured programming. New York: Academic Press.Google Scholar
  7. Dijkstra, E. (1971). Notes on structured programming. In O. Dahl (Ed.).Google Scholar
  8. Floridi, L. (Ed.) (2003). The Blackwell guide to the philosophy of computing and information. Malden, MA: Blackwell.Google Scholar
  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Boston: Addison-Wesley.Google Scholar
  10. Lakatos, I. (1978). The methodology of scientific programs. Cambridge: Cambridge University Press.Google Scholar
  11. Mayr, E. (1982). The growth of biological thought. Cambridge, MA: Harvard University Press.Google Scholar
  12. Mayr, E. (1988). Toward a new philosophy of biology. Cambridge, MA: Harvard University Press.Google Scholar
  13. Mayr, E. (2001). What evolution is. New York: Basic Books.Google Scholar
  14. Vallverdú, J. (Ed.) (2010). Thinking machines and the philosophy of computer science: concepts and principles. Hershey, PA: IGI Global.Google Scholar
  15. von Neumann, J. (1945). First draft of a report on the EDVAC, University of Pennsylvania Moore School of Electrical Engineering.Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of MinnesotaDuluthUSA

Personalised recommendations