Computer Ethics: A Case-based Approach teaches students to solve ethical dilemmas in the field of computing, taking a philosophical, rather than a legal, approach to the topic. It first examines the principles of Idealism, Realism, Pragmatism, Existentialism, and Philosophical Analysis, explaining how each of them might be adopted as a basis for solving computing dilemmas. The book then presents a worksheet of key questions to be used in solving dilemmas. Twenty-nine cases, drawn from the real-life experiences of computer professionals, are included in the book as a means to let students experiment with solving ethical dilemmas and identify the philosophical underpinnings of the solutions.