{"product_id":"philosophy-of-computer-science-isbn-9781119891901","title":"Philosophy of Computer Science","description":"\u003cp\u003e\u003cb\u003eA unique resource exploring the nature of computers and computing, and their relationships to the world.\u003c\/b\u003e \u003c\/p\u003e\u003cp\u003e\u003ci\u003ePhilosophy of Computer Science\u003c\/i\u003e is a university-level textbook designed to guide readers through an array of topics at the intersection of philosophy and computer science. Accessible to students from either discipline, or complete beginners to both, the text brings readers up to speed on a conversation about these issues, so that they can read the literature for themselves, form their own reasoned opinions, and become part of the conversation by contributing their own views. \u003c\/p\u003e\u003cp\u003eWritten by a highly qualified author in the field, the book looks at some of the central questions in the philosophy of computer science, including: \u003c\/p\u003e\u003cul\u003e \u003cli\u003eWhat is philosophy? (for readers who might be unfamiliar with it)\u003c\/li\u003e \u003cli\u003eWhat is computer science and its relationship to science and to engineering?\u003c\/li\u003e \u003cli\u003eWhat are computers, computing, algorithms, and programs?(Includes a line-by-line reading of portions of Turing’s classic 1936 paper that introduced Turing Machines, as well as discussion of the Church-Turing Computability Thesis and hypercomputation challenges to it)\u003c\/li\u003e \u003cli\u003eHow do computers and computation relate to the physical world?\u003c\/li\u003e \u003cli\u003eWhat is artificial intelligence, and should we build AIs?\u003c\/li\u003e \u003cli\u003eShould we trust decisions made by computers?\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eA companion website contains annotated suggestions for further reading and an instructor’s manual. \u003c\/p\u003e\u003cp\u003e\u003ci\u003ePhilosophy of Computer Science\u003c\/i\u003e is a must-have for philosophy students, computer scientists, and general readers who want to think philosophically about computer science. \u003c\/p\u003e\u003cp\u003eList of Figures xvi\u003c\/p\u003e \u003cp\u003ePreface xviii\u003c\/p\u003e \u003cp\u003eAbout the Companion Website xx\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I Philosophy and Computer Science 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 An Introduction to the Philosophy of Computer Science 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 What This Book Is About 3\u003c\/p\u003e \u003cp\u003e1.2 What This Book Is Not About 5\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Philosophy: A Personal View 7\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Introduction 7\u003c\/p\u003e \u003cp\u003e2.2 A Definition of ‘Philosophy’ 8\u003c\/p\u003e \u003cp\u003e2.3 What Is Truth? 9\u003c\/p\u003e \u003cp\u003e2.3.1 Correspondence Theories of Truth 10\u003c\/p\u003e \u003cp\u003e2.3.2 Coherence Theories of Truth 10\u003c\/p\u003e \u003cp\u003e2.3.3 Correspondence vs. Coherence 10\u003c\/p\u003e \u003cp\u003e2.4 Searching for the Truth 13\u003c\/p\u003e \u003cp\u003e2.4.1 Searching vs. Finding 13\u003c\/p\u003e \u003cp\u003e2.4.2 Asking “Why?” 14\u003c\/p\u003e \u003cp\u003e2.4.3 Can There Be Progress in Philosophy? 15\u003c\/p\u003e \u003cp\u003e2.4.4 Skepticism 16\u003c\/p\u003e \u003cp\u003e2.5 What Is “Rational”? 17\u003c\/p\u003e \u003cp\u003e2.5.1 Logical Rationality 17\u003c\/p\u003e \u003cp\u003e2.5.2 Scientific Rationality 20\u003c\/p\u003e \u003cp\u003e2.5.3 Computational Rationality 21\u003c\/p\u003e \u003cp\u003e2.5.4 Is It Always Rational to Be Rational? 21\u003c\/p\u003e \u003cp\u003e2.6 Philosophy as a Personal Search 22\u003c\/p\u003e \u003cp\u003e2.7 Philosophies of Anything and Everything 23\u003c\/p\u003e \u003cp\u003e2.8 Philosophy and Computer Science 25\u003c\/p\u003e \u003cp\u003e2.9 Appendix: Argument Analysis and Evaluation 25\u003c\/p\u003e \u003cp\u003e2.9.1 Introduction 25\u003c\/p\u003e \u003cp\u003e2.9.2 A Question-Answer Game 26\u003c\/p\u003e \u003cp\u003e2.9.3 Missing Premises 27\u003c\/p\u003e \u003cp\u003e2.9.4 When Is an Argument a “Good” Argument? 30\u003c\/p\u003e \u003cp\u003e2.9.5 Examples of Good and Bad Arguments 34\u003c\/p\u003e \u003cp\u003e2.9.6 Summary 35\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II Computer Science, Computers, and Computation 37\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 What Is Computer Science? 39\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Introduction 39\u003c\/p\u003e \u003cp\u003e3.2 Naming the Discipline 39\u003c\/p\u003e \u003cp\u003e3.3 Why Ask What CS Is? 40\u003c\/p\u003e \u003cp\u003e3.4 What Does It Mean to Ask What Something Is? 42\u003c\/p\u003e \u003cp\u003e3.4.1 Determining Boundaries 42\u003c\/p\u003e \u003cp\u003e3.4.2 Extensional and Intensional Definition 45\u003c\/p\u003e \u003cp\u003e3.5 CS as the Science of Computers 47\u003c\/p\u003e \u003cp\u003e3.5.1 Objection: Computers Are Not Natural 48\u003c\/p\u003e \u003cp\u003e3.5.2 Objection: Computers Are Tools, Not Phenomena 49\u003c\/p\u003e \u003cp\u003e3.5.3 Digression: The Once-upon-a-Time Science of Microscopy 51\u003c\/p\u003e \u003cp\u003e3.5.4 Objection: CS Is Just a Branch of … 52\u003c\/p\u003e \u003cp\u003e3.5.5 Objection: What about Algorithms? 52\u003c\/p\u003e \u003cp\u003e3.6 CS Studies Algorithms 53\u003c\/p\u003e \u003cp\u003e3.6.1 Only Algorithms? 53\u003c\/p\u003e \u003cp\u003e3.6.2 Or Computers, Too? 55\u003c\/p\u003e \u003cp\u003e3.7 Physical Computers vs. Abstract Algorithms 56\u003c\/p\u003e \u003cp\u003e3.8 CS Studies Information 57\u003c\/p\u003e \u003cp\u003e3.9 CS as a Mathematical Science 58\u003c\/p\u003e \u003cp\u003e3.10 CS as a Natural Science of Procedures 61\u003c\/p\u003e \u003cp\u003e3.11 CS as an Empirical Study 63\u003c\/p\u003e \u003cp\u003e3.12 CS as Engineering 64\u003c\/p\u003e \u003cp\u003e3.13 Science xor Engineering? 66\u003c\/p\u003e \u003cp\u003e3.14 CS as “Both” 66\u003c\/p\u003e \u003cp\u003e3.15 CS as “More” 68\u003c\/p\u003e \u003cp\u003e3.15.1 CS as a New Kind of Science 68\u003c\/p\u003e \u003cp\u003e3.15.2 CS as a New Kind of Engineering 70\u003c\/p\u003e \u003cp\u003e3.16 CS as “Neither” 71\u003c\/p\u003e \u003cp\u003e3.16.1 CS as Art 71\u003c\/p\u003e \u003cp\u003e3.16.2 CS as the Study of Complexity 71\u003c\/p\u003e \u003cp\u003e3.16.3 CS as the Philosophy(!) of Procedures 72\u003c\/p\u003e \u003cp\u003e3.16.4 CS as Computational Thinking 72\u003c\/p\u003e \u003cp\u003e3.16.5 CS as AI 73\u003c\/p\u003e \u003cp\u003e3.16.6 Is CS Magic? 74\u003c\/p\u003e \u003cp\u003e3.17 Summary 76\u003c\/p\u003e \u003cp\u003e3.18 Questions for the Reader 77\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Science 78\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Introduction 78\u003c\/p\u003e \u003cp\u003e4.2 Science and Non-Science 79\u003c\/p\u003e \u003cp\u003e4.3 Science as Systematic Study 80\u003c\/p\u003e \u003cp\u003e4.4 The Goals of Science 81\u003c\/p\u003e \u003cp\u003e4.4.1 Description 81\u003c\/p\u003e \u003cp\u003e4.4.2 Explanation 82\u003c\/p\u003e \u003cp\u003e4.4.3 Prediction 82\u003c\/p\u003e \u003cp\u003e4.5 Instrumentalism vs. Realism 83\u003c\/p\u003e \u003cp\u003e4.6 Scientific Theories 85\u003c\/p\u003e \u003cp\u003e4.7 “The” Scientific Method 86\u003c\/p\u003e \u003cp\u003e4.8 Falsifiability 88\u003c\/p\u003e \u003cp\u003e4.8.1 Science as Conjectures and Refutations 88\u003c\/p\u003e \u003cp\u003e4.8.2 The Logic of Falsifiability 89\u003c\/p\u003e \u003cp\u003e4.8.3 Problems with Falsifiability 90\u003c\/p\u003e \u003cp\u003e4.9 Scientific Revolutions 90\u003c\/p\u003e \u003cp\u003e4.10 Other Alternatives 91\u003c\/p\u003e \u003cp\u003e4.11 CS and Science 91\u003c\/p\u003e \u003cp\u003e4.11.1 Is CS a Science? 91\u003c\/p\u003e \u003cp\u003e4.11.2 What Kind of Science Might CS Be? 92\u003c\/p\u003e \u003cp\u003e4.12 Questions to Think About 93\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Engineering 95\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Defining ‘Engineering’ 95\u003c\/p\u003e \u003cp\u003e5.2 Engineering as Science 97\u003c\/p\u003e \u003cp\u003e5.3 A Brief History of Engineering 98\u003c\/p\u003e \u003cp\u003e5.4 Conceptions of Engineering 99\u003c\/p\u003e \u003cp\u003e5.5 What Engineers Do 100\u003c\/p\u003e \u003cp\u003e5.5.1 Engineering as Design 100\u003c\/p\u003e \u003cp\u003e5.5.2 Engineering as Building 100\u003c\/p\u003e \u003cp\u003e5.6 The Engineering Method 101\u003c\/p\u003e \u003cp\u003e5.7 Software Engineering 102\u003c\/p\u003e \u003cp\u003e5.8 CS and Engineering 104\u003c\/p\u003e \u003cp\u003e5.9 Questions to Think About 105\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Computers: A Brief History 107\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Introduction 107\u003c\/p\u003e \u003cp\u003e6.2 Would You Like to Be a Computer? 108\u003c\/p\u003e \u003cp\u003e6.3 Two Histories of Computers 109\u003c\/p\u003e \u003cp\u003e6.4 The Engineering History 109\u003c\/p\u003e \u003cp\u003e6.4.1 Ancient Greece 109\u003c\/p\u003e \u003cp\u003e6.4.2 Seventeenth Century Calculating Machines 110\u003c\/p\u003e \u003cp\u003e6.4.3 Babbage’s Machines 110\u003c\/p\u003e \u003cp\u003e6.4.4 Electronic Computers 111\u003c\/p\u003e \u003cp\u003e6.4.5 Modern Computers 112\u003c\/p\u003e \u003cp\u003e6.5 The Scientific History 113\u003c\/p\u003e \u003cp\u003e6.6 The Histories Converge 116\u003c\/p\u003e \u003cp\u003e6.7 What Is a Computer? 116\u003c\/p\u003e \u003cp\u003e6.7.1 An Engineering Answer 116\u003c\/p\u003e \u003cp\u003e6.7.2 A Scientific Answer 117\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Algorithms and Computability 119\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Introduction 119\u003c\/p\u003e \u003cp\u003e7.2 Functions and Computation 120\u003c\/p\u003e \u003cp\u003e7.2.1 Mathematical Functions 120\u003c\/p\u003e \u003cp\u003e7.2.2 Functions Described Extensionally 121\u003c\/p\u003e \u003cp\u003e7.2.3 Functions Described Intensionally 123\u003c\/p\u003e \u003cp\u003e7.2.4 Function “Machines” 125\u003c\/p\u003e \u003cp\u003e7.2.5 Computable Functions 126\u003c\/p\u003e \u003cp\u003e7.3 ‘Algorithm’ Made Precise 128\u003c\/p\u003e \u003cp\u003e7.3.1 Ancient Algorithms 128\u003c\/p\u003e \u003cp\u003e7.3.2 “Effectiveness” 128\u003c\/p\u003e \u003cp\u003e7.3.3 Three Attempts at Precision 129\u003c\/p\u003e \u003cp\u003e7.4 Five Great Insights of CS 134\u003c\/p\u003e \u003cp\u003e7.4.1 Insight 1: Representation 134\u003c\/p\u003e \u003cp\u003e7.4.2 Insight 2: Processing 135\u003c\/p\u003e \u003cp\u003e7.4.3 Insight 3: Structure 136\u003c\/p\u003e \u003cp\u003e7.4.3.1 Structured Programming (I) 136\u003c\/p\u003e \u003cp\u003e7.4.3.2 Digression – Recursive Definitions 137\u003c\/p\u003e \u003cp\u003e7.4.3.3 Structured Programming (II) 138\u003c\/p\u003e \u003cp\u003e7.4.4 Insight 4: The Church-Turing Computability Thesis 139\u003c\/p\u003e \u003cp\u003e7.4.5 Insight 5: Implementation 141\u003c\/p\u003e \u003cp\u003e7.5 Structured Programming 142\u003c\/p\u003e \u003cp\u003e7.5.1 Basic Programs 142\u003c\/p\u003e \u003cp\u003e7.5.2 Program Constructors 143\u003c\/p\u003e \u003cp\u003e7.5.3 Classification of Structured Programs 144\u003c\/p\u003e \u003cp\u003e7.6 Recursive Functions 144\u003c\/p\u003e \u003cp\u003e7.6.1 A Recursive Definition of Natural Numbers 144\u003c\/p\u003e \u003cp\u003e7.6.2 Recursive Definitions of Recursive Functions 145\u003c\/p\u003e \u003cp\u003e7.6.3 Classification of Recursive Functions 149\u003c\/p\u003e \u003cp\u003e7.7 Non-Computable Functions 150\u003c\/p\u003e \u003cp\u003e7.7.1 The Halting Problem 150\u003c\/p\u003e \u003cp\u003e7.7.2 Proof Sketch that H Is Not Computable 153\u003c\/p\u003e \u003cp\u003e7.8 Summary 155\u003c\/p\u003e \u003cp\u003e7.9 Questions for the Reader 155\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Turing’s Analysis of Computation 157\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Introduction 157\u003c\/p\u003e \u003cp\u003e8.2 Slow and Active Reading 158\u003c\/p\u003e \u003cp\u003e8.3 Title: “The Entscheidungsproblem” 158\u003c\/p\u003e \u003cp\u003e8.4 Paragraph 1 159\u003c\/p\u003e \u003cp\u003e8.4.1 “ ‘Computable’ Numbers” 159\u003c\/p\u003e \u003cp\u003e8.4.2 “Written By a Machine” 160\u003c\/p\u003e \u003cp\u003e8.5 Paragraph 2 160\u003c\/p\u003e \u003cp\u003e8.5.1 “Naturally Regarded as Computable” 160\u003c\/p\u003e \u003cp\u003e8.5.2 “Definable Numbers” 161\u003c\/p\u003e \u003cp\u003e8.6 Section 1, Paragraph 1: “Computing Machines” 161\u003c\/p\u003e \u003cp\u003e8.7 Section 9: “The Extent of the Computable Numbers” 162\u003c\/p\u003e \u003cp\u003e8.7.1 Turing’s Computability Thesis 162\u003c\/p\u003e \u003cp\u003e8.7.2 “Writing Symbols on Paper” 163\u003c\/p\u003e \u003cp\u003e8.7.3 States of Mind 166\u003c\/p\u003e \u003cp\u003e8.7.4 Operations 167\u003c\/p\u003e \u003cp\u003e8.7.5 Another “Simple Operation” 169\u003c\/p\u003e \u003cp\u003e8.7.6 “Immediate Recognisability” 169\u003c\/p\u003e \u003cp\u003e8.7.7 Summary of Operations 170\u003c\/p\u003e \u003cp\u003e8.7.8 “States of Mind” 170\u003c\/p\u003e \u003cp\u003e8.7.9 Turing Machines, Turing’s Thesis, and AI 172\u003c\/p\u003e \u003cp\u003e8.8 “Computing Machines” 174\u003c\/p\u003e \u003cp\u003e8.8.1 “Man” and “Machine” 175\u003c\/p\u003e \u003cp\u003e8.8.2 Closure Clause: Turing’s Thesis 178\u003c\/p\u003e \u003cp\u003e8.9 Section 2: “Definitions” 178\u003c\/p\u003e \u003cp\u003e8.9.1 “Automatic Machines” 178\u003c\/p\u003e \u003cp\u003e8.9.2 “Choice Machines” 179\u003c\/p\u003e \u003cp\u003e8.9.3 “Computing Machines” 179\u003c\/p\u003e \u003cp\u003e8.9.4 “Complete Configurations” 180\u003c\/p\u003e \u003cp\u003e8.9.5 “Circular and Circle-Free Machines” 181\u003c\/p\u003e \u003cp\u003e8.9.6 “Circular” Machines 182\u003c\/p\u003e \u003cp\u003e8.9.7 “Computable Sequences and Numbers” 183\u003c\/p\u003e \u003cp\u003e8.10 Section 3: “Examples of Computing Machines” 184\u003c\/p\u003e \u003cp\u003e8.10.1 Example I 184\u003c\/p\u003e \u003cp\u003e8.10.2 Example II, Paragraph 1 189\u003c\/p\u003e \u003cp\u003e8.10.3 Example II, Paragraph 2 192\u003c\/p\u003e \u003cp\u003e8.11 Section 4: “Abbreviated Tables” 195\u003c\/p\u003e \u003cp\u003e8.12 Section 5: “Enumeration of Computable Sequences” 196\u003c\/p\u003e \u003cp\u003e8.13 Section 6: “The Universal Computing Machine” 201\u003c\/p\u003e \u003cp\u003e8.14 The Rest of Turing’s Paper 203\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Computers: A Philosophical Perspective 204\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 What Is a Computer? 204\u003c\/p\u003e \u003cp\u003e9.2 Informal Definitions 206\u003c\/p\u003e \u003cp\u003e9.2.1 Reference-Book Definitions 206\u003c\/p\u003e \u003cp\u003e9.2.2 John von Neumann’s Definition 206\u003c\/p\u003e \u003cp\u003e9.2.3 Arthur Samuel’s Definition 207\u003c\/p\u003e \u003cp\u003e9.2.4 Martin Davis’s Characterization 208\u003c\/p\u003e \u003cp\u003e9.2.5 Summary 208\u003c\/p\u003e \u003cp\u003e9.3 Computers, Turing Machines, and Universal Turing Machines 210\u003c\/p\u003e \u003cp\u003e9.3.1 Computers as Turing Machines 210\u003c\/p\u003e \u003cp\u003e9.3.2 Stored Program vs. Programmable 211\u003c\/p\u003e \u003cp\u003e9.4 John Searle’s “Pancomputationalism”: Everything Is a Computer 212\u003c\/p\u003e \u003cp\u003e9.4.1 Searle’s Argument 212\u003c\/p\u003e \u003cp\u003e9.4.2 Computers Are Described in Terms of 0s and 1s 213\u003c\/p\u003e \u003cp\u003e9.4.3 Being a Computer Is a Syntactic Property 214\u003c\/p\u003e \u003cp\u003e9.4.4 Being a Computer Is Not an Intrinsic Property of Physical Objects 216\u003c\/p\u003e \u003cp\u003e9.4.5 We Can Ascribe the Property of Being a Computer to Any Object 217\u003c\/p\u003e \u003cp\u003e9.4.6 Everything Is a Computer 218\u003c\/p\u003e \u003cp\u003e9.5 Patrick Hayes: Computers as Magic Paper 220\u003c\/p\u003e \u003cp\u003e9.6 Gualtiero Piccinini: Computers as Digital String Manipulators 223\u003c\/p\u003e \u003cp\u003e9.6.1 Definition P1 224\u003c\/p\u003e \u003cp\u003e9.6.2 Definition P2 225\u003c\/p\u003e \u003cp\u003e9.7 What Else Might Be a Computer? 226\u003c\/p\u003e \u003cp\u003e9.7.1 Is a Brain a Computer? 226\u003c\/p\u003e \u003cp\u003e9.7.2 Is the Universe a Computer? 228\u003c\/p\u003e \u003cp\u003e9.8 Conclusion 232\u003c\/p\u003e \u003cp\u003e9.9 Questions for the Reader 233\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III The Church-Turing Computability Thesis 237\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Procedures 239\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Introduction 239\u003c\/p\u003e \u003cp\u003e10.2 The Church-Turing Computability Thesis 240\u003c\/p\u003e \u003cp\u003e10.3 What Is a Procedure? 243\u003c\/p\u003e \u003cp\u003e10.4 Carol Cleland: Some Effective Procedures Are Not Turing Machines 244\u003c\/p\u003e \u003cp\u003e10.5 Beth Preston: Recipes, Algorithms, and Specifications 249\u003c\/p\u003e \u003cp\u003e10.6 Summary 251\u003c\/p\u003e \u003cp\u003e10.7 Questions for the Reader 252\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Hypercomputation 253\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Introduction 253\u003c\/p\u003e \u003cp\u003e11.2 Generic Computation 255\u003c\/p\u003e \u003cp\u003e11.3 Non-Euclidean Geometries and “Non-Turing Computations” 255\u003c\/p\u003e \u003cp\u003e11.4 Hypercomputation 256\u003c\/p\u003e \u003cp\u003e11.5 “Newer Physics” Hypercomputers 257\u003c\/p\u003e \u003cp\u003e11.6 Analog Recurrent Neural Networks 258\u003c\/p\u003e \u003cp\u003e11.7 Objections to Hypercomputation 258\u003c\/p\u003e \u003cp\u003e11.8 Interactive Computation 259\u003c\/p\u003e \u003cp\u003e11.8.1 “Internal” vs. “External” Inputs 259\u003c\/p\u003e \u003cp\u003e11.8.2 Batch vs. Online Processing 259\u003c\/p\u003e \u003cp\u003e11.8.3 Peter Wegner: Interaction Is Not Turing-Computable 260\u003c\/p\u003e \u003cp\u003e11.8.4 Can Interaction Be Simulated by a Non-Interactive Turing Machine? 263\u003c\/p\u003e \u003cp\u003e11.8.4.1 The Power of Interaction 263\u003c\/p\u003e \u003cp\u003e11.8.4.2 Simulating a Halting Interaction Machine 263\u003c\/p\u003e \u003cp\u003e11.8.4.3 Simulating a Non-Halting Interaction Machine 265\u003c\/p\u003e \u003cp\u003e11.9 Oracle Computation 266\u003c\/p\u003e \u003cp\u003e11.10 Trial-and-Error Computation 270\u003c\/p\u003e \u003cp\u003e11.10.1 Introduction 270\u003c\/p\u003e \u003cp\u003e11.10.2 Does “Intelligence” Require Trial-and-Error Machines? 273\u003c\/p\u003e \u003cp\u003e11.10.3 Inductive Inference 276\u003c\/p\u003e \u003cp\u003e11.11 Summary 276\u003c\/p\u003e \u003cp\u003e11.12 Questions for the Reader 278\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV Computer Programs 281\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Software and Hardware 283\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 The Nature of Computer Programs 283\u003c\/p\u003e \u003cp\u003e12.2 Programs and Algorithms 284\u003c\/p\u003e \u003cp\u003e12.3 Software, Programs, and Hardware 285\u003c\/p\u003e \u003cp\u003e12.3.1 Etymology of ‘Software’ 285\u003c\/p\u003e \u003cp\u003e12.3.2 Software and Music 286\u003c\/p\u003e \u003cp\u003e12.3.3 The Dual Nature of Programs 286\u003c\/p\u003e \u003cp\u003e12.3.4 Copyright vs. Patent 287\u003c\/p\u003e \u003cp\u003e12.4 Moor: Software Is Changeable 290\u003c\/p\u003e \u003cp\u003e12.4.1 Levels of Understanding 290\u003c\/p\u003e \u003cp\u003e12.4.2 Programs Are Relative to Computers 290\u003c\/p\u003e \u003cp\u003e12.4.3 Instructions 291\u003c\/p\u003e \u003cp\u003e12.4.4 “Following Instructions.” 292\u003c\/p\u003e \u003cp\u003e12.4.5 Moor’s Definitions of ‘Software’ and ‘Hardware.’ 293\u003c\/p\u003e \u003cp\u003e12.5 Suber: Software Is Pattern 294\u003c\/p\u003e \u003cp\u003e12.6 Colburn: Software Is a Concrete Abstraction 297\u003c\/p\u003e \u003cp\u003e12.7 Summary 299\u003c\/p\u003e \u003cp\u003e12.8 Questions for the Reader 299\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Implementation 301\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 Introduction 301\u003c\/p\u003e \u003cp\u003e13.1.1 Implementation vs. Abstraction 302\u003c\/p\u003e \u003cp\u003e13.1.2 Implementations as Role Players 303\u003c\/p\u003e \u003cp\u003e13.1.3 Abstract Data Types 303\u003c\/p\u003e \u003cp\u003e13.1.4 The Structure of Implementation 304\u003c\/p\u003e \u003cp\u003e13.2 Implementation as Semantic Interpretation 305\u003c\/p\u003e \u003cp\u003e13.2.1 What Kind of Relation Is Implementation? 305\u003c\/p\u003e \u003cp\u003e13.2.2 Semantic Interpretation 306\u003c\/p\u003e \u003cp\u003e13.2.2.1 Formal Systems 307\u003c\/p\u003e \u003cp\u003e13.2.2.2 Syntax 307\u003c\/p\u003e \u003cp\u003e13.2.2.3 Semantic Interpretation 308\u003c\/p\u003e \u003cp\u003e13.2.3 Two Modes of Understanding 310\u003c\/p\u003e \u003cp\u003e13.3 Chalmers’s Theory of Implementation 313\u003c\/p\u003e \u003cp\u003e13.3.1 Introduction 313\u003c\/p\u003e \u003cp\u003e13.3.2 An Analysis of Chalmers’s Theory 313\u003c\/p\u003e \u003cp\u003e13.3.3 Rescorla’s Analysis of Chalmers’s Theory 317\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Computer Programs as Scientific Theories 321\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e14.1 Introduction 321\u003c\/p\u003e \u003cp\u003e14.2 Simulations 322\u003c\/p\u003e \u003cp\u003e14.2.1 Simulation vs. Emulation 322\u003c\/p\u003e \u003cp\u003e14.2.2 Simulation vs. Imitation 323\u003c\/p\u003e \u003cp\u003e14.2.3 Models 323\u003c\/p\u003e \u003cp\u003e14.2.4 Theories 324\u003c\/p\u003e \u003cp\u003e14.3 Computer Programs Are Theories 325\u003c\/p\u003e \u003cp\u003e14.3.1 Introduction 325\u003c\/p\u003e \u003cp\u003e14.3.2 Simon and Newell’s Argument from Analogies 327\u003c\/p\u003e \u003cp\u003e14.3.3 Simon’s Argument from Prediction 329\u003c\/p\u003e \u003cp\u003e14.3.4 Daubert vs. Merrell-Dow 330\u003c\/p\u003e \u003cp\u003e14.4 Computer Programs Aren’t Theories 331\u003c\/p\u003e \u003cp\u003e14.4.1 Moor’s Objections 331\u003c\/p\u003e \u003cp\u003e14.4.2 Thagard’s Objections 333\u003c\/p\u003e \u003cp\u003e\u003cb\u003e15 Computer Programs as Mathematical Objects 336\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e15.1 Introduction 336\u003c\/p\u003e \u003cp\u003e15.1.1 Bugs and Intended Behavior 336\u003c\/p\u003e \u003cp\u003e15.1.2 Proofs and Programs 337\u003c\/p\u003e \u003cp\u003e15.2 Theorem Verification 340\u003c\/p\u003e \u003cp\u003e15.2.1 Theorems and Proofs 340\u003c\/p\u003e \u003cp\u003e15.2.2 Programs and Proofs 341\u003c\/p\u003e \u003cp\u003e15.2.3 Programs, Proofs, and Formal Systems 343\u003c\/p\u003e \u003cp\u003e15.3 Program Verification 344\u003c\/p\u003e \u003cp\u003e15.3.1 Introduction and Some History 344\u003c\/p\u003e \u003cp\u003e15.3.2 Program Verification by Pre- and Post-Conditions 345\u003c\/p\u003e \u003cp\u003e15.3.3 The Value of Program Verification 346\u003c\/p\u003e \u003cp\u003e15.4 The Fetzer Controversy 347\u003c\/p\u003e \u003cp\u003e15.4.1 Fetzer’s Argument against Program Verification 347\u003c\/p\u003e \u003cp\u003e15.4.2 The Controversy 350\u003c\/p\u003e \u003cp\u003e15.4.3 Barwise’s Attempt at Mediation 351\u003c\/p\u003e \u003cp\u003e15.5 The Program-Verification Debate: Summary 352\u003c\/p\u003e \u003cp\u003e15.6 Program Verification, Models, and the World 354\u003c\/p\u003e \u003cp\u003e15.6.1 “Being Correct” vs. “Doing What’s Intended” 354\u003c\/p\u003e \u003cp\u003e15.6.2 Models: Putting the World into Computers 354\u003c\/p\u003e \u003cp\u003e\u003cb\u003e16 Programs and the World 360\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e16.1 Introduction 360\u003c\/p\u003e \u003cp\u003e16.2 Internal vs. External Behavior: Some Examples 361\u003c\/p\u003e \u003cp\u003e16.3 Two Views of Computation 364\u003c\/p\u003e \u003cp\u003e16.4 Inputs, Turing Machines, and Outputs 365\u003c\/p\u003e \u003cp\u003e16.4.1 Introduction 365\u003c\/p\u003e \u003cp\u003e16.4.2 The Turing Machine Tape as Input-Output Device 365\u003c\/p\u003e \u003cp\u003e16.4.3 Are Inputs Needed? 366\u003c\/p\u003e \u003cp\u003e16.4.4 Are Outputs Needed? 367\u003c\/p\u003e \u003cp\u003e16.4.5 When Are Inputs and Outputs Needed? 367\u003c\/p\u003e \u003cp\u003e16.4.6 Must Inputs and Outputs Be Interpreted Alike? 368\u003c\/p\u003e \u003cp\u003e16.4.7 Linking the Tape to the External World 370\u003c\/p\u003e \u003cp\u003e16.5 Are Programs Teleological? 370\u003c\/p\u003e \u003cp\u003e16.6 Algorithms Do Need a Purpose 371\u003c\/p\u003e \u003cp\u003e16.7 Algorithms Don’t Need a Purpose 373\u003c\/p\u003e \u003cp\u003e16.8 Algorithms and Goals 375\u003c\/p\u003e \u003cp\u003e16.9 Computing with Symbols or with Their Meanings 377\u003c\/p\u003e \u003cp\u003e16.10 Syntactic, Internal, and Indigenous Semantics 380\u003c\/p\u003e \u003cp\u003e16.10.1 Syntax vs. Semantics 380\u003c\/p\u003e \u003cp\u003e16.10.2 Syntactic Semantics 380\u003c\/p\u003e \u003cp\u003e16.10.3 Syntactic Semantics and Procedural Abstraction 382\u003c\/p\u003e \u003cp\u003e16.10.4 Internalization 383\u003c\/p\u003e \u003cp\u003e16.11 Content and Computation 384\u003c\/p\u003e \u003cp\u003e16.11.1 Introduction 384\u003c\/p\u003e \u003cp\u003e16.11.2 Symbols: Marks vs. Meanings 385\u003c\/p\u003e \u003cp\u003e16.11.3 Shagrir’s “Master Argument” 388\u003c\/p\u003e \u003cp\u003e16.12 Summary 390\u003c\/p\u003e \u003cp\u003e16.13 Questions for the Reader 391\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart V Computer Ethics and Artificial Intelligence 393\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e17 Computer Ethics I: Should We Trust Computers? 395\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e17.1 Introduction 395\u003c\/p\u003e \u003cp\u003e17.2 Decisions and Computers 395\u003c\/p\u003e \u003cp\u003e17.3 Are Computer Decisions Rational? 397\u003c\/p\u003e \u003cp\u003e17.4 Should Computers Make Decisions for Us? 398\u003c\/p\u003e \u003cp\u003e17.5 Should Computers Make Decisions with Us? 399\u003c\/p\u003e \u003cp\u003e17.6 Should We Trust Decisions Computers Make? 400\u003c\/p\u003e \u003cp\u003e17.6.1 The Bias Problem 400\u003c\/p\u003e \u003cp\u003e17.6.2 The Black-Box Problem 401\u003c\/p\u003e \u003cp\u003e17.7 Are There Decisions Computers Must Make for Us? 403\u003c\/p\u003e \u003cp\u003e17.8 Are There Decisions Computers Shouldn’t Make? 404\u003c\/p\u003e \u003cp\u003e17.9 Questions for the Reader 405\u003c\/p\u003e \u003cp\u003e\u003cb\u003e18 Philosophy of Artificial Intelligence 407\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e18.1 Introduction 407\u003c\/p\u003e \u003cp\u003e18.2 What Is AI? 407\u003c\/p\u003e \u003cp\u003e18.2.1 Definitions and Goals of AI 407\u003c\/p\u003e \u003cp\u003e18.2.2 Artificial Intelligence as Computational Cognition 408\u003c\/p\u003e \u003cp\u003e18.3 The Turing Test 409\u003c\/p\u003e \u003cp\u003e18.3.1 How Computers Can Think 409\u003c\/p\u003e \u003cp\u003e18.3.2 The Imitation Game 410\u003c\/p\u003e \u003cp\u003e18.3.3 Thinking vs. “Thinking” 412\u003c\/p\u003e \u003cp\u003e18.4 Digression: The “Lovelace Objection” 415\u003c\/p\u003e \u003cp\u003e18.5 Digression: Turing on Intelligent Machinery 417\u003c\/p\u003e \u003cp\u003e18.6 The Chinese Room Argument 418\u003c\/p\u003e \u003cp\u003e18.7 The Argument from Biology 420\u003c\/p\u003e \u003cp\u003e18.7.1 Causal Powers 420\u003c\/p\u003e \u003cp\u003e18.7.2 The Implementation Counterargument 421\u003c\/p\u003e \u003cp\u003e18.8 The Argument from Semantics 422\u003c\/p\u003e \u003cp\u003e18.8.1 The Premises 422\u003c\/p\u003e \u003cp\u003e18.8.2 Which Premise Is at Fault? 423\u003c\/p\u003e \u003cp\u003e18.8.3 Semiotics 424\u003c\/p\u003e \u003cp\u003e18.8.4 Points of View 426\u003c\/p\u003e \u003cp\u003e18.8.5 A Recursive Theory of Understanding 429\u003c\/p\u003e \u003cp\u003e18.9 Leibniz’s Mill and Turing’s “Strange Inversion” 430\u003c\/p\u003e \u003cp\u003e18.10 A Better Way 435\u003c\/p\u003e \u003cp\u003e18.11 Questions for Discussion 436\u003c\/p\u003e \u003cp\u003e\u003cb\u003e19 Computer Ethics II: Should We Build Artificial Intelligences? 438\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e19.1 Introduction 438\u003c\/p\u003e \u003cp\u003e19.2 Is AI Possible in Principle? 439\u003c\/p\u003e \u003cp\u003e19.3 What Is a Person? 440\u003c\/p\u003e \u003cp\u003e19.4 Rights 442\u003c\/p\u003e \u003cp\u003e19.5 Responsibilities 443\u003c\/p\u003e \u003cp\u003e19.6 Personal AIs and Morality 445\u003c\/p\u003e \u003cp\u003e19.7 Are We Personal AIs? 445\u003c\/p\u003e \u003cp\u003e19.8 Questions for the Reader 446\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart VI Closing Remarks 449\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e20 Computer Science: A Personal View 451\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e20.1 Introduction 451\u003c\/p\u003e \u003cp\u003e20.2 Computer Science and Elephants 452\u003c\/p\u003e \u003cp\u003e20.3 Five Central Questions of CS 454\u003c\/p\u003e \u003cp\u003e20.3.1 Computability 454\u003c\/p\u003e \u003cp\u003e20.3.2 Efficient Computability 456\u003c\/p\u003e \u003cp\u003e20.3.3 Practical Computability 457\u003c\/p\u003e \u003cp\u003e20.3.4 Physical Computability 458\u003c\/p\u003e \u003cp\u003e20.3.5 Ethical Computability 458\u003c\/p\u003e \u003cp\u003e20.4 Wing’s Five Questions 459\u003c\/p\u003e \u003cp\u003e20.5 Conclusion 460\u003c\/p\u003e \u003cp\u003eBibliography 461\u003c\/p\u003e \u003cp\u003eIndex 495\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eWilliam J. Rapaport\u003c\/b\u003e is CSE Eminent Professor Emeritus in the Department of Computer Science and Engineering and an affiliated faculty member emeritus in the Departments of Philosophy and of Linguistics at the University at Buffalo, The State University of New York. He is a recipient of the Barwise Prize of the American Philosophical Association, the Covey Award of the International Association for Computing and Philosophy, and the SUNY Chancellor’s Award for Excellence in Teaching.   \u003c\/p\u003e\u003cp\u003e\u003cb\u003eDiscover the philosophical issues at the heart of computer science\u003c\/b\u003e \u003c\/p\u003e\u003cp\u003eFor computer science students, philosophy students, professionals in either field, and general readers interested in both, \u003ci\u003ePhilosophy of Computer Science\u003c\/i\u003e offers a fascinating introduction to the central questions that philosophy asks about the field of computer science. First of all, what \u003ci\u003eis\u003c\/i\u003e computer science? What is a computer, and what is science, for that matter? These basic investigations lead into many other areas, dealing with, for example, Turing Machines, hypercomputation, artificial intelligence, and the ethics of computers and robots. This book gives readers the background to bring them up to speed about these issues and many more.  \u003c\/p\u003e\u003cp\u003eAfter reading this introduction, you will be able to engage with classic and current literature in the philosophy of computer science, forming your own reasoned opinions and, perhaps, contributing your own views. Uniquely, \u003ci\u003ePhilosophy of Computer Science\u003c\/i\u003e weaves in content on how philosophers reason and evaluate logical arguments, and it provides suggested writing assignments designed to help focus your thinking about the fascinating issues covered. This text is a wonderful place to start examining what happens when we turn a philosophical eye to the science of computing.\u003c\/p\u003e","brand":"Wiley-Blackwell","offers":[{"title":"Default Title","offer_id":47989779792101,"sku":"NP9781119891901","price":35.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781119891901.jpg?v=1761785438","url":"https:\/\/k12savings.com\/es\/products\/philosophy-of-computer-science-isbn-9781119891901","provider":"K12savings","version":"1.0","type":"link"}