Tuesday, November 6, 2018

Observations of self-paced programming systems for teaching year 8 students

My year 7 and 8 Digital Technologies classes have recently completed a programming course using Grok, which I've also used with year 10s and 11s in the past. It's a relatively straight-forward concept - a set of programming challenges/mini-tasks dispersed among descriptions and examples of what you need to be able to solve it. The examples are interactive - they let you run the code in-line, and also edit it to see what happens if you change something. Students can learn at their own pace.

I started the (mostly unmotivated) year 8 class on a turtle module, thinking this gives them something less abstract to cling onto. Some observations follow:

  • A _lot_ (most) of the students didn't bother reading the explanations and examples, and tried to jump straight to the tasks, whereupon they struggled majorly as they hadn't learned what they need to complete it. One of the main things I needed to do as a teacher was remind students to read the pages before the challenge. I had to do this repeatedly for many students. 
  • Partly due to the above, many students didn't get the idea of a repeat/loop construct, preferring to copy/paste or re-type code multiple times rather than use a for loop. Even after discussion with them, pointing to the pages that step them through this, and showing them how to use such a loop, many still went on (in later exercises) to duplicate code rather than loop.
  • Many students didn't read the error messages from the auto-marking process. Sometimes the error messages gave the wrong line number (e.g. due to un-closed brackets), and sometimes the error message were unintelligible or hard to see (UI issues on a laptop screen).
From the first two points, one conclusion is that students are just trying to rush through the activities as quickly as possible, which makes me think there's a lack of engagement and interest. While the turtle does makes things more appealing to visual learners, I'm thinking it's not enough. Perhaps a more thorough exploration of why we're doing this might also be useful - we did cover this a bit, but perhaps not enough. On the other hand, if not done carefully, this might disengage those students even more - I was hoping that by diving in to building things sooner, more students would be motivated. 

Another emanating theme is the difficulty students have with independent learning. I have found this over a large section of my teaching career - students don't like or know how to work through things by themselves. I don't have a great answer to this, short of researching ways to promote this; perhaps gamify the process a bit more?

The year 7 class, being an accelerated class, didn't have quite as many of the above issues, but they were all still present to a lesser extent. It also helps that year 7s are generally more motivated than year 8s and 9s. The year 7s got through a much harder course in Grok 

Next year I will try the BBC Micro:bits for the first programming activity, as these are quite engaging. Another option worth considering is to start with a simpler approach to following instructions - either unplugged (program the teacher) or with a simpler or less abstract application (LightBot app, or perhaps a simple Robot). I might also consider introducing a project that we'll be working towards _before_ starting Grok so that we have a context and interest for the programming learning. Another thing to try to embed (perhaps less related to anything talked about, but still relevant) is to learn how to read and understand code, not just write it.