Skip to main content
Log in

Decoupling as a Fundamental Value of Computer Science

  • Published:
Minds and Machines Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Colburn, T. (2003). Methodology of computer science. In L. Floridi (Ed.).

  • 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 

  • Colburn, T., Shute, G. (2008), Metaphor in computer science. Journal of Applied Logic, 6(4): 526–533.

    Article  Google Scholar 

  • Colburn, T., Shute, G. (2010a), Abstraction, law, and freedom in computer science. Metaphilosophy, 41(3): 345—364

    Article  Google Scholar 

  • Colburn, T. & Shute, G. (2010b). Knowledge, truth, and values in computer science. In J. Vallverdu (Ed.), (pp. 119—131).

  • Dahl, O., et al. (1971). Structured programming. New York: Academic Press.

    Google Scholar 

  • Dijkstra, E. (1971). Notes on structured programming. In O. Dahl (Ed.).

  • Floridi, L. (Ed.) (2003). The Blackwell guide to the philosophy of computing and information. Malden, MA: Blackwell.

    Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Boston: Addison-Wesley.

    Google Scholar 

  • Google Inc. (2009). http://googleblog.blogspot.com/2009/11/releasing-chromium-os-open-source.html.

  • Lakatos, I. (1978). The methodology of scientific programs. Cambridge: Cambridge University Press.

    Google Scholar 

  • Mayr, E. (1982). The growth of biological thought. Cambridge, MA: Harvard University Press.

    Google Scholar 

  • Mayr, E. (1988). Toward a new philosophy of biology. Cambridge, MA: Harvard University Press.

    Google Scholar 

  • Mayr, E. (2001). What evolution is. New York: Basic Books.

    Google Scholar 

  • Vallverdú, J. (Ed.) (2010). Thinking machines and the philosophy of computer science: concepts and principles. Hershey, PA: IGI Global.

    Google Scholar 

  • von Neumann, J. (1945). First draft of a report on the EDVAC, University of Pennsylvania Moore School of Electrical Engineering.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Timothy Colburn.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Colburn, T., Shute, G. Decoupling as a Fundamental Value of Computer Science. Minds & Machines 21, 241–259 (2011). https://doi.org/10.1007/s11023-011-9233-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11023-011-9233-3

Keywords

Navigation