Teaching Computational Thinking
An Integrative Approach for Middle and High School Learning
A guide for educators to incorporate computational thinking—a set of cognitive skills applied to problem solving—into a broad range of subjects.
The open access edition of this book was made possible by generous funding from Arcadia – a charitable fund of Lisbet Rausing and Peter Baldwin.
Computational thinking—a set of mental and cognitive tools applied to problem solving—is a fundamental skill that all of us (and not just computer scientists) draw on. Educators have found that computational thinking enhances learning across a range of subjects and reinforces students' abilities in reading, writing, and arithmetic. This book offers a guide for incorporating computational thinking into middle school and high school classrooms, presenting a series of activities, projects, and tasks that employ a range of pedagogical practices and cross a variety of content areas.
As students problem solve, communicate, persevere, work as a team, and learn from mistakes, they develop a concrete understanding of the abstract principles used in computer science to create code and other digital artifacts. The book guides students and teachers to integrate computer programming with visual art and geometry, generating abstract expressionist–style images; construct topological graphs that represent the relationships between characters in such literary works as Harry Potter and the Sorcerer's Stone and Romeo and Juliet; apply Newtonian physics to the creation of computer games; and locate, analyze, and present empirical data relevant to social and political issues. Finally, the book lists a variety of classroom resources, including the programming languages Scratch (free to all) and Codesters (free to teachers). An accompanying website contains the executable programs used in the book's activities.