Saturday, February 6, 2016

Mobile Programming Apps--Kodable and Hopscotch

Mobile Programming Apps--Kodable and Hopscotch

This post documents my exploration of mobile apps for teaching coding to our students.  In my work, I looked at two apps, Kodable and Hopscotch.  

The first, Kodable (Figure 1), is geared towards the K-5 set and is a simple but powerful way for kids to begin engaging in computational thinking.  



Figure 1
The game environment is a simple icon-based environment whose setup is less open-ended than the scratch exercises that we have seen before.  In Kodable, students are challenged to put directional and operational icons in order in boxes in order to instruct a cute screen avatar through a maze-like environment to collect the most coins possible. In addition, the downloadable teacher resources provide all of the background and discussion material needed to prepare students for what they will experience in the actual game environment.  There are pencil and paper games and activities, such as a card-based game in which students 'program' a game of Rock, Paper, Scissors using cards to work with If-Then statements. (figures 2 & 3 )  



Figure 3
Figure 2


At first the operations are simply directional, but after each round of practice and [lots of!] repetition, the lessons increase in complexity, with the introduction of Conditional Statements, rules and exceptions, Loops and Functions (Thank You Lucie for including information in your slide show about the later stages of the program, that I would have. otherwise needed to upgrade to!)

The coolest thing about Kodable is that, while it is not nearly as powerful or customizable, the important components of computational thinking are all there for the student.  My favorite aspect of this is the debugging concept, which challenges students from the very earliest stages to detect incorrect steps in pre-made code sequences.  

Additionally, very powerful computational-thinking strategies are given to students in a way that makes sense to their developmental level.  It is this that gets me the most excited.  They will not be able to program anything super-exciting yet, but they are learning about the exact same logical patterns that they will use to manipulate more complex code later in life.  It is important that computational thinkng begin in children's minds as early as possible, and these puzzle-based learning environments go a long way towards beginning that process.  

Constraints=Problem-Solving :-)



Hopscotch

Hopscotch is a much more powerful application in the sense that it gives the user a much more open-ended environment.  As opposed to puzzle-solving, this app is more focused on creativity.  Students are given a very visual array of tools that are put together much in the way that the Scratch blocks are assembled. In fact, the array of tools was surprisingly familiar (Figure 4)


Figure 4
There is a significant limit to what can be done in Hopscotch compared to Scratch, but given that many classrooms are iPad-equipped and have not got standard computing, this is a very good next best bet.  The dimensionality of Scratch, the multiple ways to play with x and y values, random numbers, repeats, conditionals, if-else, clone creation, all allow for a rich, creative environment. Additionally, an extensive list of educational activities is available free to educators and other learners (though again, less so than in Scratch).

Below is some of the code that I generated along the way in a drawing program I made. (Figure 5) 

In addition to the key input commands seen in Scratch, there is also the option of all of the neat motion-sensitive controls that come with the mobile platform.

In Hopscotch, there are a number of fun, pre-coded routines that you can have the "characters" (like sprites) do, like dance, wiggle, draw spirals.  The code for these are revealable and editable, allowing students to see what more advanced combinations of commands can do.

Speaking of the characters, Hopscotch shows its limitations in the characters.  While they have a variety of available characters, there are many fewer then Scratch.  Unlike scratch, there is no option for drawing sprites or giving them multiple costumes to simulate motion. The only thing that can be done is to put together block shapes, like we used to do with the ASCII "graphics" characters back in the day.  Students have shared games they have made with rude but functional airplanes, etc made out of these blocks (Figure 6)
So is it Worth It?

It seems to me that both of these apps can be essential components to learning computer science. Neither is better than the other, as they both work on the same set of skills, just at different developmental levels.  

Students should be exposed to the ideas of sequence, iteration, loops, conditionals and functions as part of their education.  Whether processes need to get done on paper or onscreen, the thinking is the same.  Kodable is certainly simpler, childish if seen from an adult perspective, but that doesn't make it any less powerful.   

I remember the first time that I was introduced to the rules of grammar and sentence structure in third grade.  I developed an instinctive sense of how sentences were supposed to look and sound that never left me.  If I had been introduced to computational thinking as early in my education as I was to grammar, who knows what would have followed. From Kodable to Hopscotch to Scratch, anything is possible.   

















No comments:

Post a Comment