Perceiving and Patterning: LightBot (PC web browser, iOS, Android)
In Lightbot, your task is to walk, jump, and light up all of the blue tiles on the playing surface. Starting with getting your robot to go in a straight line, LightBot goes on to add new challenges and commands, introduces procedures, which requires students to identify patterns in the robot’s movement, and teaches about loops, which students must use to program repeat actions using fewer programming blocks. I teach students to begin thinking and doing like programmers by encouraging to program Lightbot one step at a time. Students use perception skills to see if they have programmed each step correctly, to determine if they turned their robot the correct direction (a big challenge for kindergarteners!), and to figure out what they must change to finish the challenge within the constraints of the level.
I have done LightBot with students grades K to 2.
Embodied Thinking: Thinkersmith’s Unplugged Hour of Code Activity
Before I even begin LightBot with kindergarteners, I do an activity similar to the Thinkersmith activity linked above. An alternative to this is to make a real-life version of LightBot in the classroom. I create command cards using index cards, similar to the LightBot commands, and have students line up to “program” one of their classmates selected to be the robot. An important concept that kindergarteners have to adjust to in this activity is that a classmate’s right turn might look different from their own right turn, depending on their viewing angle. As a result, students must learn to see things from a different perspective.
I have also done this activity with second graders.
Abstracting, Deep Play: Scratch (PC web browser only; ScratchJr available for iOS)
Scratch is an icon-based programming language that is available for people of all ages online. By using a combination of blocks, or commands, that fit together like puzzle pieces, you can create your own computer program! While the Hour of Code Scratch activities include tutorials to help you get started, Scratch is also available as an open-ended sandbox where you program whatever you want from, well, scratch! A number of computer science concepts can be learned here, including the use of If/Then and If/Then/Else blocks to create conditional programming, and the use of variables, which help students turn something that they observe into something a computer can process. And, with the open-ended nature of the program, student learning is based on inquiry, discovery, and play.
I have done this program with third-through-fifth graders.