This book looks at some of the central issues in the philosophy of computer science. It is not designed to answer all (or even any) of the philosophical questions that can be raised about the nature of computing, computers, and computer science. Rather, it is designed to "bring you up to speed" on a conversation about these issues - to give you some background knowledge - so that you can read the literature for yourself and perhaps become part of the conversation by contributing your own views.
This book is intended for readers who might know some philosophy but no computer science, readers who might know some computer science but no philosophy, and readers who know little or nothing about both! So, although most of the book will be concerned with what computer science is, we will begin by asking: What is philosophy? And, in particular: What is "the philosophy of X?" (where X = things like: science, psychology, history, etc., and, of course, computer science).
This open book is licensed under a Creative Commons License (CC BY). You can download Philosophy of Computer Science ebook for free in PDF format (29.3 MB).
Table of Contents
Philosophy and Computer Science
What Is Philosophy of Computer Science?
What Is Philosophy?
Computer Science, Computation, and Computers
What Is Computer Science?
What Is Science?
What Is Engineering?
What Is a Computer? A Historical Perspective
What Is an Algorithm?
Turing's Analysis of Computation
What Is a Computer? A Philosophical Perspective
The Church-Turing Computability Thesis
What Is a Procedure?
What Is Hypercomputation?
What Is a Computer Program?
Algorithms, Programs, Software, and Hardware
Copyright vs. Patent
What Is Implementation?
Are Programs Theories?
Can Computer Programs Be Verified?
How Do Programs Relate to the World?
Computer Ethics and Artificial Intelligence
Computer Ethics I: Decisions
Philosophy of AI
Computer Ethics II: AI