Saturday, October 10, 2015

Coding and Habits of Mind

This is a discussion forum assignment that I am doing as a blog for EDU 583, a Master's level course I am currently taking at UMF.

Coding is something I feel embodies many of the seven trans-disciplinary habits of mind (Mishra, Koehler, and Henriksen, 2011).  Every year, I help bring the Hour of Code into the classrooms that I work in.  During Computer Science Education Week (December 7 - 13 this year), classrooms participating in the Hour of Code engage in a one-hour activity introducing them to the principles of computer programming and thinking like coders.  The Hour of Code is designed to generate interest in students to learn to code, and to provide them with resources to learn how to code on their own, which is important given how absent computer science education is in most public schools.  With a wide-range of activities for students of all ages to engage in, there is something for everyone.  From learning to program with Anna and Elsa from Frozen, to creating your own Flappy Bird game, to learning actual JavaScript programming in Khan Academy, and even activities that do not require a computer or Internet connection, I have been able to schedule Hour of Code activities in every elementary grade level over the last few years, and students and teachers have enjoyed those activities enough to extend the Hour of Code over multiple weeks and even months.  Here are some examples of how Hour of Code activities that I have done that fit in within the trans-disciplinary habits of mind.

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.

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.