User:Leigh Passim/sandbox/Philosophy of Computer Science

SEP Article
The following is quoted from Philosophy of Computer Science entry at the Stanford Encyclopedia of Philosophy.


 * 1) What kinds of things are programs? Are they abstract or concrete?
 * 2) What are the differences between programs and algorithms?
 * 3) What is a specification? And what is being specified?
 * 4) Are specifications fundamentally different from programs?
 * 5) What is an implementation?
 * 6) What distinguishes hardware from software? Do programs exist in both physical and symbolic forms?
 * 7) What kinds of things are digital objects? Do we need a new ontological category to house them?
 * 8) What are the objectives of the various semantic theories of programming languages?
 * 9) How do questions in the philosophy of programming languages relate to parallel ones in the philosophy of language?
 * 10) Does the principle of modularity (e.g., ) relate to the conceptual issues of full-abstraction and compositionality?
 * 11) What are the underlying conceptual differences between the following programming paradigms: structured, functional, logic, and object-oriented programming?
 * 12) What are the roles of types in Computer Science?
 * 13) What is the difference between operational and denotational semantics?
 * 14) What does it mean for a program to be correct? What is the epistemological status of correctness proofs? Are they fundamentally different from proofs in mathematics?
 * 15) What do correctness proofs establish?
 * 16) What is abstraction in computer science? How is it related to abstraction in mathematics?
 * 17) What are formal methods? What is formal about formal methods? What is the difference between a formal method and informal one?
 * 18) What kind of discipline is computer science? What are the roles of mathematical modelling and experimentation? (Minsky 1970; Denning 1980; Denning 1981; Denning et al. 1989; Denning 1985; Denning 1980b; Hartmanis 1994; Hartmanis1993; Hartmanis 1981; ; Eden 2007)
 * 19) Should programs be considered as scientific theories? (Rapaport 2005a)
 * 20) How is mathematics used in computer science? Are mathematical models used in a descriptive or normative way?
 * 21) Does the Church-Turing thesis capture the mathematical notion of an effective or mechanical method in logic and mathematics? Does it capture the computations that can be performed by a human? Does its scope apply to physical machines? (Copeland 2004; Copeland 2007; Hodges 2006)
 * 22) Can the notion of computational thinking withstand philosophical scrutiny? (Wing 2006)
 * 23) What is the appropriate logic with which to reason about program correctness and termination? (Hoare 1969; Feferman 1992) How is the logic dependent upon the underlying programming language?
 * 24) What is information? (Floridi 2004; Floridi 2005) Does this notion throw light on some of the questions listed here?
 * 25) Why are there so many programming languages and programming paradigms? (Krishnamurthi 2003)
 * 26) Do programming languages (and paradigms) have the nature of scientific theories? What causes a programming paradigm shift? (Kuhn 1970)
 * 27) Does software engineering raise any philosophical issues? (Eden 2007)

Minsky 1970; Denning 1980; Denning 1981; Denning et al. 1989; Denning 1985; Denning 1980b; Hartmanis 1994; Hartmanis1993; Hartmanis 1981; Colburn 2004; Eden 2007