This book is the outgrowth of an introductory computer science course taught at Pepperdine University, where the book has been class-tested for five years. The course, as well as the book, is primarily for majors in computer science who intend a more in-depth study later, and secondarily for nonmajors who desire a strong background in computers so that they can deal with them effectively in their chosen fields. The book is designed for a two- or three-semester course.