Dr. Paul A. G. Sivilotti
Associate Professor
Computer Science and Engineering
Site Navigation
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.
- For middle school students, see the materials here.
- For graduate level computer science students, see our paper in SIGACT News (Distributed Computing Column), 2007.
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 materials for understanding and conducting this activity include:
- The SIGCSE 2008 paper describing the activity (as well as the associated slides used in presenting the paper at the SIGCSE conference).
- The lecture slides supporting the activity, including pre-lab introductory comments and post-lab debriefing.
- The lab manual describing the lab activity requirements in detail.
- The Scratch code for supporting the lab activities (Lab 1: Save the Turtle, and Lab 2: Dragons and Butterflies)
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.