Outreach Activities

Kinesthetic Learning Activities for Distributed Algorithms

A kinesthetic learning activity (KLA) is a pedagogical tool involving physical movement by students. The key characteristics of a KLA are that (i) students are actively, physically engaged in the exposition and assimilation of classroom material, and (ii) this engagement directly supports some specific learning objective. We have developed and used a variety of KLAs for introducing students to advanced concepts in computer science, including self-stabilizing distributed algorithms.

Introducing Software Engineering Concepts with Scratch

Scratch is a visual programming language that is well-suited to teaching kids about computational thinking. We designed and conducted a 3-hour workshop for 8th grade girls to introduce them to some sophisticated software engineering concepts (specifications, refinement, composition) using Scratch. The workshop was developed and piloted in 2007 and has been run many times since then.

The materials for understanding and conducting this activity include:

On July 31, 2007, we ran this workshop with the participants of the Future Engineers Summer Camp, a group of 30 8th-grade girls. The code they wrote is available here.