The book is based on an MIT course that has been offered twice a year since
2006. The course is aimed at students with little or no prior programming experience, but who have a need (or at least a desire) to understand computational approaches to problem solving. Each year, a few of the students in the class use the course as a stepping stone to more advanced computer science courses. But for most of the students it will be their only computer science course.