SIGCSE: Scratching Alice – What Do Students Learn About Programming From Game, Music Video, And Storytelling Projects?Posted: March 4, 2012
I went to a fascinating talk that drew data from 11-14 year olds at a programming camp. Students used a 3D programming language called Alice or a visual programming language called Scratch, to tell stories, produce music videos and write games. The faculty running the program noticed that there appeared to be a difference in the style of programming that students mastered depending on whether they used Alice or Scratch. At first glance, these languages both provide graphical programming environments and can be very similarly used. They both offer loops, the ability to display text, can produce graphics and you can assign values to locations in memory – not surprising, given that these are what we would hope to find in any modern high-level programming language. For many years, students produced programs in Alice, with a strong storytelling focus, but from 2008, the camp switched to Scratch, and a game-writing and music-video focus.
And the questions that students asked started to change.
Students started to ask questions about selection statements and conditional expressions – choosing which piece of code to run at a given point and calculating true and false conditions. This was a large departure from the storytelling time when students, apparently, didn’t need this knowledge.
The paper is called “What Do Students Learn About Programming From Game, Music Video, And Storytelling Projects?“, Adams and Webster, and they show a large number of interesting figures determined by data mining the code produced from all of the years of the camp. Unsurprisingly, the game programming required students to do a lot more of what we would generally recognise as programming – choosing between different pathways in the code, determining if a condition has been met – and this turns out to be statistically significant for this study. Yes, Scratch games use more if statements and conditionals than Alice storytelling activities and this is a clear change in the nature and level of the concepts that the students have been exposed to.
Students tended to write longer programs as they got older, regardless of language, games were longer than other programs, IF statements were used 100 times more often in games than stories and LOOPS were used 100 times more often in games and videos than stories.
Some other, interesting, results include data on gender differences in the data:
- Boys put, on average, 3.2 animations of fire into all of their games, compared to the girl’s rather dull 0.8. Come on, girls, why isn’t everything on fire?
- Boys use infinite loops far more frequently than girls. (I’d love to see if there’s an age-adjusted pattern to this as well.)
- Girls appear to construct more conditional statements. This would usually indicate a higher level of utility with the concepts.
We generally have two things that we try to do when we carry out outreach – amuse/engage the audience and educate the audience. There’s not doubt that the choice of language and the exercise are important and this paper highlights it. They’re not saying that Alice is better or worse than Scratch but that, depending on what you want, your choice of activity is going to make students think in a certain way. If all you’re after is engagement then you don’t need students practising these higher-level programming skills – but if you’re trying to start out proto-programmers, maybe a storytelling approach isn’t what you’re after.