Students explore the idea that thinking is a form of computation by learning to write simple computer programs for tasks that require thought. This book guides students through an exploration of the idea that thinking might be understood as a form of computation. Students make the connection between thinking and computing by learning to write computer programs for a variety of tasks that require thought, including solving puzzles,...