Episode 3: Offline Programming and the Power of Dance to Develop Logic
Why Program\xa0Off-line?
If we only want our students to thinking about programming when they are on a tablet, then we will only talk about algorithms and programs when the students are holding tablets. If we want to help our students create a flexible and dynamic schema for programming we will find a variety of connected and unconnected contexts to practice computational thinking.\xa0
Programming without devices, also referred to as off-line or unplugged programming, is fun for kids and helps them focus on the programming concept rather than the programming medium.
What are the components of a good off-line programming lesson?
1. Use a programming concept and make it visible. When you are working on learning about sequence in programming, have the students build small sequences of steps to create a dance. When the students work, they should always have a written version of their program to refer to. Programming cards or even playing cards can work well for the youngest students.
2. Use vocabulary you have introduced in your programming lessons in the off-line lessons as well. Once you refer to a series of commands as an algorithm, continue to use the word in all appropriate contexts. Use new terms bravely and invite students to do so to. There are resources for computer science vocabulary and concepts in the last chapter.
3. Use the physical space. One of the great joys of offline programing is that is can get kids moving. Look for squares on the ground, use these as units in the program. So \u201cForward 1\u201d could mean move forward one square. When we can make connections between our desktops and the real world, students are naturally interested. Can they write a program that moves them from their desk to the door? Where does you class go in a day? Can you write a program to the water fountain? How about the music room?
Getting Started with the Fuzz Family Frenzy
The team at Kodable put together a great 45-60 minute lesson that gets kids coding and working with programming concepts, as well as practices. The 2 page handout is available at\xa0https://www.kodable.com/resources.\xa0
Dances with Robots
Off-line programming is a great tool for introducing concepts, and the lesson above is really the most simple of lessons. It focuses on sequence and command. Let's consider a slightly more advanced concept, the loop.\xa0
A simple dance, that repeats itself a great deal is the Cupid Shuffle. According to a wiki-how page, the Cupid Shuffle has very few steps:
1. Step to the right
Step to the right
Step to the right
Step to the right
2. Step to the left
Step to the left
Step to the left
Step to the left
3. Kick your left leg forward to rest your heel on the ground
4. Kick your right leg forward to rest your heel on the ground
5. Kick your left leg forward to rest your heel on the ground
6. Kick your right leg forward to rest your heel on the ground
7. Walk in place and turn your body 90 degrees
8. Return to step one and repeat the entire sequence four times.
This is well suited to teaching loops because it is a repeated sequences with repeated sequences inside of it.\xa0
Kids Bop and Go Noodle have collaborated on a great video you can use with this lesson The Kids Bop Shuffle\xa0https://youtu.be/byNIamDv8RE
If your students are struggling with an on-screen concept, return to the real world. Use the physical space you are in to help them problem solve. Once you do this a few times as a whole class you will notice students doing it independently when they need to.