From the Creative Computing educator workshop, a compilation of presentations, activities, and handouts for cultivating computational thinking and computational creativity in your classroom.
In collaboration with Google's CS4HS initiative, this annual summer workshop for middle-school and high-school teachers explores new educational technologies and instructional strategies to engage students in creative design activities -- and, in the process, help students develop as computational thinkers and computational creators.
The three-day workshop was designed by Mitch Resnick and Karen Brennan around four core ideas about learning experiences (designing, personalizing, collaborating, reflecting), with the intention of providing teachers the same opportunities for learning that we imagine for their students. Teachers design, create, experiment, and explore with computational media (more specifically, with Scratch), and discuss how these types of ideas and activities can be introduced to and shared with students.
In the workshop, participants use Scratch to create many different genres of projects: art, stories, sensing, and games while learning about concepts, practices, and perspectives that are at the core of Computational Thinking. This resource describes the sessions from at the workshop and provides links to materials used. If you have any questions or comments, please post them below.
Session #1: Introduction to Creative Computing
The main objectives of this first session are to: (1) give a sense of what's to come in the workshop, and (2) build excitement and anticipation. This involves providing some background information about Scratch, computational thinking, and design-based learning, sharing inspiring examples of what is possible to create with Scratch, and creating a space to experiment with Scratch in a hands-on way.
- Introductory presentation
- Mitch Resnick's introductory presentation at the 2010 Creative Computing/CS4HS workshop hosted at the MIT Media Lab.
- Big ideas handout - Two-page handout that summarizes our framing of computational thinking concepts and computational thinking practices, as well as design-based approaches to learning.
- Surprise me (a.k.a. Monkey Business) - This is an activity with very little scaffolding. After demonstrating the basic mechanism of snapping blocks together, participants are asked to make a project in which something surprising happens either to themselves or to a monkey. The handout provides some additional scaffolding by recommending particular blocks to experiment with. After participants have had about 10 minutes to work on their projects, participants are gathered to share different things they learned or noticed about Scratch as they created their projects.
- ScratchEd and Scratch accounts creation - Participants can create accounts on the two sites to share and find Scratch projects, and to share and find Scratch educator resources.\
Session #2: Art
The main objectives of this second session are to: (1) develop greater fluency with Scratch through hands-on experiences in the art genre, (2) explore the computational concepts of sequences and loops.
- Marching orders - Computers are powerful, but they don't do things on their own. They require instructions to be able to do things, and the act of specifying instructions is programming. In this activity, participants experience what it's like to "be programmed", given instructions for how to draw a picture.
- Orange square, purple circle -
Participants create projects that include an orange square and a purple circle, playing with visual constraints.
- Interactive collage -
Participants create an interactive project about a topic of interest that responds in different ways to mouse clicks.
Session #3: Stories
The main objectives of this third session are to: (1) develop greater fluency with Scratch through hands-on experiences in the story genre, (2) explore the computational concepts of parallelism and events.
- Doing two things at once -
Participants use the paper blocks to program solutions to several challenges that explore the concepts of parallelism (making things happen at the same time) and events (one thing causing another thing to happen) proposed by the facilitator, including having: one person doing one task (like walking), then introducing the notion of resetting, one person doing two tasks (like walking and talking), a second person simultaneously doing a task (like talking), the second person doing a dependent task (like talking after the first person).
- Pass-it-on story
- ScratchEd Video documenting the "Pass-it-on story" activity, as done with a group of teenage girls. Participants collaboratively construct a story by each starting a story and then rotating to another computer, continuing the story found there. After two rotations, participants return to their computers to see how the story has evolved.
- Story time -
Collection of one-page handouts with different story-themed starter projects: a slideshow of pictures and audio narration, a conversation between two characters, a dynamically created story, and a multi-scene story.
Session #4: Sensing
The main objectives of this fourth session are to: (1) develop greater fluency with Scratch through hands-on experiences in the sensing genre, (2) explore the computational concepts of conditionals and operators.
- Debug it
- Collection of five small Scratch programs that aren't working the way the creator intended. Participants work in small groups to debug the programs, and then share their solution approaches.
Collection of one-page handouts with different WeDo-themed starter projects: using the distance sensor and set size block to make the cat smaller and larger, using the distance sensor, set color effect block, and the play note block to make the character change color and play music, using the tilt sensor and change x/y blocks to make the cat move around the stage, using the tilt sensor and next costume block to scroll through a sprite's costumes, using the motor blocks, key pressed blocks, move block to control the motor and move the cat by pressing the left and right arrows.
Session #5: Games
The main objectives of this fifth session are to: (1) develop greater fluency with Scratch through hands-on experiences in the games genre, (2) explore the computational concepts of variables and lists.
- Adding variables to a game -
Speaker notes, and video recording of Mitch Resnick introducing variables in a game context.
- Let's play
- Collection of one-page handouts with different game-themed starter projects: getting through a maze, helping a cat navigate a minefield, spelling a collection of words.
Session #6: Conclusion
The main objectives of this sixth and final session are to: (1) develop greater fluency with Scratch through the design of an independent project, (2) explore ways in which Scratch is being used in the classroom.
- Show and tell
Videos of educators describing how they have been using Scratch in the classroom after participating in the Creative Computing/CS4HS workshop.