CSE 4/510 & PHI 498, Spring 2004

Philosophy of Computer Science

Course Summary

Last Update: 21 April 2004

Note: NEW or UPDATED material is highlighted


  1. What is philosophy?


  2. What is computer science?


  3. Is CS a science or engineering?

    1. What is science?

      • Goals = description vs. explanation
      • instrumentalism vs. realism
      • scientific method

        • Bacon (~1600): experimental method
        • Popper(~1950): conjectures & refutations
          • X is scientific iff X is falsifiable

      • empirical sciences vs. non-empirical sciences (e.g., math)


    2. What is engineering?

      • pure vs. applied sciences
      • Loui 1987:

        • CS = a new kind of engineering that studies:
          • theory, design, analysis, implementation of information-processing algorithms

      • Davis 1998: history of engineering

        • Engineering =? application of science for use & convenience of people and to improve means of production

      • Petroski 2003:

        • fundamental activity of engineering is design


  4. What is a computer? -- I


  5. What is an algorithm? -- I


  6. What is a computer? -- II


  7. What is an algorithm? -- II


  8. What is hypercomputation?


  9. What is a computer program?

    1. What is implementation?

      • Chalmers: implementation is isomorphism

        • argument against Searle
        • a computer is an implementation of a computation or of a UTM

      • Rapaport: implementation is semantic interpretation of an Abstraction in some medium

        • syntax vs. semantics of formal systems


    2. Are programs scientific theories?

      • programs are (a language for expressing) theories, which can then be their own models
      • theory vs. model, simulation vs. real thing, simulation vs. emulation
      • philosophical theories of scientific explanation
      • philosophical theories of scientific models


    3. What is software?

      • Moor: software is a computer program that is changeable by a person
      • Suber: software is syntactic form
      • Colburn: software is a concrete abstraction

        • has a "medium of description": text in a formal language (abstraction)
        • has a "medium of execution": circuits & semiconductors (concrete)


    4. Can software be patented? Or should it be copyrighted?

      • copyrights vs. patents
      • Newell: need to devise good models ("ontologies") of algorithms & other CS entities
      • Koepsell: need to revise the models of legal protection.


    5. Can programs be verified?

      • Smith, "Limits of Correctness"

        • There is a gap between the world and our models of it.
        • Computers rely on models of the models, but must act in the real world.

      • Fetzer: programs can't be verified

        • ...because you can't logically prove that causal systems won't fail.
        • at best, can verify an algorithm


  10. Philosophy of AI: Could we build artificial intelligences?


  11. Computer Ethics




Copyright © 2004 by William J. Rapaport (rapaport@cse.buffalo.edu)
file: 510/course-summary-2004-04-21.html