Assuming no prior knowledge of computer programming, this book is written for the ACM-recommended curriculum for CS1. It is intended for a broad audience of first-year students in science, engineering and business where a knowledge of programming is thought to be essential.