How to Learn Computer Programming Efficiently through Computer Games: Michael Lee and Gidget

July 29, 2015 at 7:32 am 4 comments

I was honored to serve on Michael Lee’s dissertation committee. Mike’s basic thesis is available at this link, or you can get the jumbo-expanded edition with an enormous appendix describing everything in his software plus his learning evaluation (described below) at this link. His thesis brings together several studies he’s done on Gidget, his game in which he teaches programming. I’ve written about his work before, like his terrific finding that including assessments improves engagement in his game (see blog post here) and about how Gidget offers us a new way to think about assessing learning (see blog post here).

Michael had several fascinating results with Gidget. One of my favorites that I have not blogged on yet was that personifying the programming tool improves retention (see his ICER 2011 paper here). When Gidget sees a syntax error, she (I’m assigning gender here) doesn’t say, “Missing semicolon” or “Malformed expression.” Instead, she says “I don’t what this is, so I’ll just go on to the next step” and looks sad that she was unable to do what the programmer asked her to do. The personification of the programming tool dramatically improved the number of game levels completed. They kept going. In course terms, they were retained.

gidget-personified

The dissertation has yet another Big Wow result. Mike developed an assessment of computing knowledge based on Allison Elliott Tew’s work on FCS1 (see here). He did a nice job validating it using Amazon’s Mechanical Turk.

He then compares three different conditions for learning differences:

  • Gidget, as a game for learning.
  • CodeAcademy, as a tutorial for learning.
  • The Gidget game level designer. The idea was to provide a constructionist learning environment without a curriculum. Mike wanted it be like using Scratch or Alice or any other open-ended creative programming environment. What would the students learn without guidance in Gidget?

Gidget and CodeAcademy are statistically equivalent for learning, and both blow away the constructionist option. A designed curriculum beats a discovery-based learning opportunity. That’s interesting but not too surprising. Here’s the wild part: The Gidget users spend 1/2 as much time. Same learning, half as much time. I would not have predicted this, that Mike’s game is actually more efficient for learning about CS than is a tutorial. I’ve argued that learning efficiency is super important especially for high school teachers (see post here).

Mike is now an assistant professor at the New Jersey Institute of Technology (see his web page here). I wish him luck and look forward to what he does next!

Entry filed under: Uncategorized. Tags: , , , .

Tech jobs rise, but ‘silicon’ vision a stretch: The world beyond just computing Why should non-CS majors learn functional programming?

4 Comments Add your own

  • 1. OTR Links 08/01/2015 | doug — off the record  |  August 1, 2015 at 1:31 am

    […] How to Learn Computer Programming Efficiently through Computer Games: Michael Lee and Gidget | Compu… […]

    Reply
  • 2. Kevin Miklasz  |  August 3, 2015 at 5:01 pm

    I have to say, as someone who has done a lot of informal education, particularly using digital tools and level designers to engage kids in open-ended education, I find your second conclusion pretty offensive. What is learning? I understand you don’t want to share the assessment task used for validity reasons, but I take it as some kind of external test of CS procedural knowledge. Was a child’s ability to create original materials measured? Was a child’s problem solving ability measured? Was a child’s interest or persistence measured? Was a child’s system thinking measured? Was the child’s ability to direct their own learning measured? I’d be much more surprised if any of these measures were worse on the constructivist task than they were on the more directed tasks, and I’m presuming the only real “learning” that increased was CS content or process knowledge.

    It’s when we try to define learning along one dimension, and ignore all others, that statement like “learning is more efficient” become possible. Learning is multi-dimensioned, and attempts to reduce it to a single number or context do a disservice to learning environments and to students. If students spent 2x the time and were engaged in a task but seemed to learn less, shouldn’t that cause you to question whether your definition of learning and assessment metric is broad enough, rather than to condemn the idea of constructivist learning?

    Reply
    • 3. Mark Guzdial  |  August 3, 2015 at 5:21 pm

      Kevin, I’m not sure which is the “second” conclusion. You’re welcome to grab the large version of Mike’s dissertation which includes all his measures. The measure in the last study was just CS content, but he measured retention, persistence, and motivation in other studies. I don’t see anyone condemning constructivist learning here. Constructivist learning is less likely to lead to gains on a measure of CS learning than more directed methods (which we’ve known for quite a while — see this blog post). Constructivist learning has other advantages, as you say. Informal computing education, however, has some big disadvantages as a learning environment — it draws in mostly high-SES males (see this other blog post).

      Reply
  • […] like the greater efficiency in using subgoal-based instruction. The work of Paul Kirschner and Mike Lee & Andy Ko also emphasizes more CS learning in less time. If we can teach the same amount of CS in less time, […]

    Reply

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 11.4K other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,096,368 hits
July 2015
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

CS Teaching Tips