Contents
Guide
Pagebreaks of the print version
TEACHING COMPUTATIONAL THINKING
An Integrative Approach for Middle and High School Learning
Maureen D. Neumann and Lisa Dion
with Robert Snapp
The MIT Press
Cambridge, Massachusetts
London, England
2021 Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.
The MIT Press would like to thank the anonymous peer reviewers who provided comments on drafts of this book. The generous work of academic experts is essential for establishing the authority and quality of our publications. We acknowledge with gratitude the contributions of these otherwise uncredited readers.
Library of Congress Cataloging-in-Publication Data
Names: Neumann, Maureen D., author. | Dion, Lisa (Computer scientist), author.
Title: Teaching computational thinking : an integrative approach for middle and high school learning / Maureen D. Neumann and Lisa Dion with Robert Snapp.
Description: Cambridge, Massachusetts : The MIT Press, 2021. | Includes bibliographical references.
Identifiers: LCCN 2021000766 | ISBN 9780262045056 (paperback)
Subjects: LCSH: Computer scienceStudy and teaching (Secondary) | Critical thinkingStudy and teaching (Secondary)
Classification: LCC QA76.27 .N474 2021 | DDC 004.071dc23
LC record available at https://lccn.loc.gov/2021000766
d_r0
Contents
List of Figures
The Kandinsky-style Scratch algorithm.
An example of the output from the Kandinsky-style Scratch algorithm.
An example of a coordinate grid with coordinates from 250 to 250 on the x and y axes. Image: Courtesy of Codesters.
An example of the output from the Kandinsky-style Codesters algorithm. Image: Courtesy of Codesters.
Kandinsky-style concentric circles. Image: Courtesy of Codesters.
The Andrade-style Scratch algorithm.
An example of the output from the Andrade-style Codesters algorithm. Can you see the circles? Image: Courtesy of Codesters.
The Albers-style Scratch algorithm.
An example of the output from the Albers-style Codesters algorithm. Image: Courtesy of Codesters.
An example of the output from the Vasarely-style Codesters algorithm. Image: Courtesy of Codesters.
The four lines drawn with x coordinate 20 and y coordinates 30 and 60. Image: Courtesy of Codesters.
The four curves drawn from one iteration of the Vasarely loop. Image: Courtesy of Codesters.
An example of a topological graph. Alice has edges to Bob and Carlos, but Bob and Carlos are not directly connected to each other.
A graph of the conversations in Harry Potter and the Sorcerers Stone.
A graph of characters with more than one conversation in Harry Potter and the Sorcerers Stone.
A word count graph of chapter 1 of Harry Potter and the Sorcerers Stone.
A graph of the mystery plot points in Harry Potter and the Sorcerers Stone.
An example of the mystery plot points made with pins and string on a bulletin board.
An example of how Conways Game of Life works. (a) An initial configuration of live (black) and dead (white) cells. (b) The changes according to Conways rules: the blue cells are added and the red cells die. (c) The resulting configuration after one generation.
A Cretan labyrinth.
A frieze is not a labyrinth.
The maze at Hampton Court.
A spiral is not a labyrinth.
The earliest depictions of Cretan labyrinths had a rectangular form. This includes the labyrinth found in Pylos, as well as those found on Cretan coins minted before 200 BCE (Schuster and Carpenter 1996).
A nine-step algorithm for generating a Cretan labyrinth with pencil and paper. The new elements to be drawn in each step are highlighted in red (Schuster and Carpenter 1996).
A seven-circuit Cretan labyrinth with passages numbered as they are visited. The kernel of the labyrinth is highlighted in red.
An 11-circuit Cretan labyrinth, with the kernel highlighted in red.
Estimating the path length of a rectangular Cretan labyrinth.
The area method for path length estimation, applied to a circular, seven-circuit Cretan labyrinth. The pink region indicates the smallest circle that encloses the labyrinth. The area of the circle is approximately the same as the total area enclosed by the path. The latter can be represented as an elongated rectangle of width w and length L, shown in the lower figure.
The layout of the Roman labyrinth found in the Villa Cadolini in Cremona, Italy, c. 50 CE. Here, the passages are colored to help visualize the order in which each quadrant is visited(1) blue, (2) green, (3) yellow, (4) pinkand the approximate symmetry of the first three quadrants. Note that paths in the darker shade are traversed before the lighter ones. Note also that the structure of the fourth quadrant differs significantly from the preceding three.
A Christian labyrinth based on the design at Chartres Cathedral. Each quadrant is colored in a manner similar to that in .
The maze at Hampton Court, with prominent features (decision points) highlighted: the entrance in green, junctions in blue, dead ends in red, and the goal in gold.
A maze that stymies the wall following algorithm, where the $ symbol is provided to represent the goal of the maze.
The dashed loop demonstrates how the maze in is disconnected.
(a) Since this five-way junction has no labels on its threshold, it has not yet been visited. It is therefore classified as a new junction. (b) This five-way junction has been visited twice, as is evident by the presence of two N s on its thresholds. It is therefore classified as an old junction. Note also that every old junction contains exactly one threshold with an X , which denotes the path by which the agent arrived during its initial visit.
Applying the labels at path thresholds by using Trmauxs algorithm. In each pair of illustrations, the left drawing displays the state of the junction immediately before the agent has arrived and the right drawing shows the state immediately after the agent has moved onward. Green arrows indicate where the agent is advancing; red arrows indicate where the agent is backtracking.
A demonstration of Trmauxs algorithm on a challenging maze, where the $ marks the goal of the maze.
An example of Trmauxs algorithm with a right-bearing agent. A $ symbol is provided to represent the goal of the maze.
Seven different minimazes for practicing Trmauxs algorithm. See learning activity 4.12.
A depiction of a graph G = (V, E) that consists of four vertices and four edges.
Constructing the graph that is equivalent to the (a) Hampton Court maze is a four-step process. First (b), the decision points are identified (see ). Then (c), pairs of adjacent decision points are connected by arcs defined by the passages. After the walls are removed (d), the arcs are simplified to obtain the equivalent graph in (e).