Explorations in computing : an introduction to computer science - Conery, John S. (Chapman & Hall/CRC textbooks in computing, 2011)
"Based on a course taught by the author, this textbook provides an introduction to computer science for non-majors or pre-majors in beginning courses. The book uses an active learning and problem-solving approach to present key topics in computer science, along with real-world examples and practical algorithms. The author explains how to read, rather than write, programs and how to solve problems. To provide a good understanding of computing without covering everything in the field, short focused chapters include tutorial projects and interactive labs that use Ruby, a simple open-source language."--