Computational Sophistication of Games Programmed by Children: A Model for Its Measurement

In this episode I unpack Werner, Denner, Campe, and Torres’ (2020) article titled “Computational sophistication of games programmed by children: A model for its measurement,” which unpacks how the authors updated the game computational sophistical (GCS) model to account for computational learning evident within 39 games development by pairs of middle school children.

  • Welcome back to another episode of the

    CSK8 podcast my name is Jared O'Leary in

    this week's episode I'm unpacking the

    paper titled computational

    sophistication of games programmed by

    children a model for its measurement it

    was written by Linda Warner Jill dinner

    Shannon camp and David M Torres as

    always even find a link to this paper in

    the show notes as well as links to the

    author's Google Scholar profiles so you

    can read more works by them simply visit

    the show notes by clicking on the link

    in the app that you're listening to this

    on or by visiting jared O'Leary comm and

    there you will find the citation for

    this particular article as well as many

    other show notes that are relevant to

    this particular episode alright so the

    abstract for this paper reads as follows

    quote this article builds on prior work

    that aims to measure computational

    learning Ciel during middle school since

    gained computational sophistication GCS

    has been used as a proxy for a student's

    engagement in CL we build on their model

    to more completely describe the

    relationship between different types of

    building blocks of computer games and

    GCS in doing so we present a single

    quantitative measurement for GCS our

    model called GCS 2.0 has face validity

    for 39 games each program by a pair of

    middle school children we choose four of

    these games two with high GCS and two is

    low GCS and discuss the computational

    building blocks found in each game we do

    this to help the reader better

    understand our measurement of GCS and

    its relationship to CL include okay so

    if I were to summarize this article into

    a single sentence I would describe it as

    an article that unpacks how the author's

    updated the game computational

    sophistication model GCS to account for

    computational learning evident within 39

    games developed by pairs of middle

    school children so the article itself is

    organized around the question quote how

    can we improve the game computational

    sophistication model to make it easier

    to use for assessing the computational

    learning of middle school children

    programming games in quote that question

    is from page 12 : - and I modified us

    slightly to actually just speak out the

    acronyms so the author's begin the

    article by citing Cooper at all

    suggestion quote

    but for education at the k-12 level we

    should be focusing on computational

    learning since it emphasizes the central

    role that a computer can play in

    enhancing the learning process and

    improving achievement of k-12 students

    in STEM and other courses in quote that

    quote is from page 12 : 1 however the

    authors also suggests that one of the

    problems for widespread adoption of CT

    is that is very difficult to measure

    students learning when engaging in

    computational thinking activities so

    here's a quote from Chris Stevenson and

    Chris is Google's head of computer

    science education programs so this quote

    kind of like it builds on the sentiment

    that I just previously mentioned quote

    I'm not sure yet that we understand

    enough about how to measure

    computational thinking knowledge and

    learning even in our own discipline

    space let alone across other disciplines

    there are little pieces but there isn't

    really anything comprehensive around

    which we can construct a real framework

    for assessment yet unquote that's from

    pages 12 : 1 to 12 : 2 so one space

    where middle school kids and high school

    kids are engaging in computation

    learning is through programming video

    games which the authors cite as kind of

    a medium for promoting computation on

    knowledge and skills in a way that is

    often motivating for kids I'm sure we

    can all think of the kids that we work

    with that are highly motivated by video

    games myself being one of them even

    though I'm not a kid

    although that's debatable sometimes

    catch me in an amusement park with

    rollercoasters and I will be like a

    child running around from ride to ride

    anyways so the review of literature in

    this particular article cites other

    articles related to developing CT

    frameworks however many of the studies

    that they cite did not actually focus on

    programming video games specifically or

    did so in a way that was not easily

    scalable and transferable to other

    programming languages so the GCSE model

    that they are using in this particular

    study is quote based on the analysis of

    olds using the Alice programming

    environment in quote that's from page 12

    : 3 and the author's provide a helpful

    summary of how this model aligns with a

    framework for how novice programmers

    how to how to code and that's on page 12

    : 3 which I recommend taking a look at

    however the authors suggested the

    original GCSE model while it may have

    been helpful for some cases it was not

    distilled down to a single assessment

    that could be used to analyze student

    work specifically using quantitative

    measurements so this particular article

    tries to remedy that so the study itself

    looked at a 12 week long voluntary

    after-school program were 39 pairs of

    middle school kids across four different

    schools spent about two hours per week

    programming games in Alice which is a 3d

    storytelling and game environment and

    I'll include a link to it in the show

    notes just in case you want to actually

    try it out in your class or just for

    funsies so to actually analyze the games

    that were submitted by these 39 pairs

    they have two undergrads analyzed all 39

    games quote for programming constructs

    patterns and game mechanics based on the

    original GCSE model include from page 12

    column four and if you're into

    inter-rater reliability they were at

    ninety seven point eight four percent

    and if you're not into that that

    basically means that the two undergrads

    who analyzed the games independently so

    on their own when it came together and

    compared their scores or labels that

    they used on the code it came to the

    same conclusion about ninety seven point

    eight four percent of the time which is

    really high okay so the next main

    section of this particular article kind

    of unpacks what the 2.0 version of GCSE

    is so on page 12 : 5 there is a table

    that lists the programming patterns used

    during analysis of a project and what

    level each pattern is considered from

    simple as a complex simple being a level

    one of the levels you could get a score

    from zero to the maximum level so level

    one can have a score of zero or one

    level two can have zero one and two and

    a level three can have a score of zero

    one two or three so for example writing

    code that controls an object or camera

    with the mouse or keyboard is considered

    a level one pattern while programming a

    vehicle to cause objects within the

    vehicle to move in unison is a level two

    skill so what that specifically means is

    like if a vehicle if like your sprite

    jumps into a car

    and then the car starts and it started

    driving away we want the person that's

    inside the car to also go with it so

    they move in unison otherwise it would

    just be alright the car goes zooming off

    then the sprite is still sitting there

    floating in the air and as an example of

    a level-3 skill creating a timer that

    causes something to occur when the timer

    hits a certain time or a threshold so if

    you want to see all of the 21 patterns

    check out page 12 : 5 and each one of

    them includes the name of the pattern

    what skill it is considered to be what

    level and then a description of what

    that pattern is ok now the second main

    portion of this particular model on 12 :

    mechanics such as like player

    interaction or levels or puzzles or

    racing or shooting or whatever now the

    way the patterns and the mechanics work

    together is they kind of come together

    to create an overall score or rating for

    a particular project so they do so by

    adding up the game mechanics score with

    the pattern score now the game mechanics

    score is basically a formula that

    accounts for the number of mechanics

    used in the game so for example if you

    have a game that has multiple levels has

    player interaction and is a racing game

    that's three different kinds of game

    mechanics that are being used but if

    only has player interaction that would

    be one now the pattern score is another

    formula that accounts for the number of

    overall quality patterns used within

    within the game so for example if you

    use nested if-else conditional z' that

    is one type of pattern and if you use

    counters that's another type of pattern

    so you'd have to and depending on how

    well you use them you'd get a different

    score or each one of those so the

    authors explained how they came up with

    the algorithms for the scores and then

    provides some hypothetical examples of

    how a game might score using the formula

    but if it's a quality game or a low

    quality game in terms of level of

    sophistication and the description does

    get pretty granular so if you're really

    interested in learning more about

    exactly how this model works they spell

    it out pretty good so next the authors

    provide two case studies of a high

    scoring game and then two case studies

    of a low scoring game so I recommend you

    read those if you want to see some

    examples of what would a high scoring

    game look like

    in Allison what would a low scoring game

    look like so in the discussion section

    of this paper the author suggests that

    the gcas model could be used with other

    programming languages outside of Alice

    alone so for example it could be applied

    in to scratch or Ruby or Swift or

    JavaScript

    however they note that the specific

    patterns in mechanic's would need to

    then be translated over into other

    languages or platforms so if you're like

    super excited about this GCSE model and

    you want to apply it into a language

    other than Alice you're gonna have to do

    some translating before you can actually

    use it in your classroom on those other

    platforms but if you look at the

    appendices at the very bottom it's

    several pages long and it spells out

    each one of the patterns and mechanics

    so it should be relatively easy for you

    to kind of create your own version of

    this the authors also note in the

    discussion that they were looking at the

    product created by two people rather

    than what each person individually

    learned and this is important because we

    cannot make the assumption that each

    person has the same understanding as

    their partner when collaborating on a

    project for example I'm sure we've all

    worked with groups or seen groups where

    one person knows significantly more than

    another and they're able to work

    together on a project now speaking of

    working together one of the really

    interesting findings related to the

    partnering was that quote students who

    reported higher levels of friendship

    with their partners at the beginning of

    the course had lower GCSE scores at the

    end no other significant correlations

    were found in quote so thus on page 12 :

    and I would love to see some follow up

    on this why is it that in this

    particular study students who were

    friends or had higher levels of

    friendship and hit up scoring lower on

    their overall product and students who

    were had lower friendships at the start

    of this course I would love to see some

    follow-up studies that explore this more

    or even have the author's on this

    particular podcast that way it can kind

    of ask them what they think

    hypothetically might have causes so in

    the conclusion section of this article

    the author suggests that this model can

    be helpful for assessing computational

    learning however they explicitly state

    quote we do not suggest that the GCSE

    standalone into

    course assessment of programming skills

    in quote from page 12 : 15 instead what

    they recommend is pairing this with

    other assessment frameworks so for

    example they recommend pairing it with

    self evaluation now this is something

    that I was really hoping that they

    mentioned in the conclusion and I'm so

    glad they did I strongly agree with this

    you can't rely on one assessment or one

    an assessment type in any class that

    you're working with you need to be

    constantly engaging in formative

    summative and episode of assessments

    throughout a class to kind of get a more

    of a holistic approach to understanding

    what your kids actually know and can do

    and I could talk for hours about why

    that is very important but I'm going to

    instead kind of point to some resources

    that unpack it a little bit more in the

    show notes alright so as always I now

    want to kind of share some of my

    lingering questions or thoughts now

    these questions and lingering thoughts

    are not meant as a critique of the

    article or the authors they're simply my

    own ponderings or wonderment that came

    out of reading the article itself so one

    of the things that I was thinking of is

    I'm curious how this model would differ

    if the analysis was based on the process

    rather than the product so in particular

    if you looked at this from a

    constructivist perspective the idea that

    knowledge is socially constructed and

    individually understood and therefore is

    unknowable rather than a constructionist

    perspective which is based off of papper

    its ideas that we've talked about in

    this podcast before and is the idea that

    like knowledge is constructed through

    act of creating whether that be like

    creating a game like in this particular

    article or maybe building a rocking

    chair out of wood or even creating some

    kind of a mental model or something all

    those are like acts of constructionist

    practices so in other words when I'm

    what I'm wondering is what if we

    analyzed the learning evident through

    the social interaction and the overall

    process rather than the end product

    result how would that have changed this

    model and the things that would have

    been looked at or discussed or labeled

    or assessed now again the authors do

    note that this type of assessment should

    not be like a standalone the only form

    of assessment you engage in the

    summative assessment so it could be

    paired with more process based

    assessment

    but I'm wondering in particular about

    the model itself how it would have

    differed if it was looking at the code

    throughout the process rather than code

    as the end result so as an example for

    another question that I was kind of

    thinking of is how might the model

    differ if it also accounted for code

    that was initially included or attempted

    but ultimately removed from the final

    product so the author's do account for

    what they call non operational code

    which is like the code that's in the

    game but it doesn't actually work or

    wasn't finalized there's kind of like

    awful on the side not really doing

    anything but I'm curious what about the

    code that was deleted so I'm sure we've

    all kind of like worked on stuff where

    maybe you're creating something and you

    start tinkering with something and then

    you go you know what I don't like this

    idea or I have another idea

    and you just erase a portion of what you

    had previously worked on what what are

    those things that were erased have

    potentially shown in terms of student

    understanding so another question that I

    had is how might educators use this

    model in combination with its ative

    assessments so if set of assessments are

    quote an assessment the student makes

    against their own performance so that

    they are measuring their personal

    progression against their own previous

    work in quote now this quote is from an

    article by savage and fault lee which i

    will link to in the show notes so in

    other words it's kind of like a

    self-reflective assessment where you

    kind of compare your own understanding

    with your prior understandings so if you

    were to take this GCSE model and do it

    multiple times and go okay the previous

    time I use the GCSE model on my project

    I scored let's say a 10 but now I scored

    a 12 why is that what about my learning

    has changed how were these two projects

    rated differently and what does that say

    about my own understanding over time so

    let's say a month ago I was rated at

    that but then I incorporated X y MZ

    patterns or game mechanics and now I'm

    rated at this higher score what does

    that say about my own learning now one

    of the things I like to also do with

    episode of assessment is to go one step

    further and then kind of predict their

    own future learning so when kids engage

    in episode of assessments in the classes

    that I work with it would reflect on

    what they learned in relation to their

    prior learning but then I have them

    think through okay what is it

    you want to learn next what do you what

    are you missing or what do you want to

    expand upon or dive deeper into with

    your next project that you're gonna

    start because again we can always learn

    more we can always dive deeper so even

    if you get a 100% on this project what

    next so the next question that I had for

    this article was how might this model

    account for variances in complexity

    evident across the different patterns

    and mechanics so for example the nested

    if-else statements are listed as a level

    receive the maximum score of 1 while

    timers are listed as a level 3 pattern

    which can receive a maximum score of 3

    however I can think of several games

    where the use of a timer is much simpler

    than the nested conditionals in

    particular you can dive several layers

    deep in different branches of nested

    conditionals whereas a timer might be

    simply initializing a variable creating

    a loop changing the variable by one and

    then waiting a second that's it so as

    another example a counter is listed as a

    level 3 pattern which again can have a

    maximum score of 3 while embedded

    methods are listed as a level 1 pattern

    and methods again are basically another

    name for functions and in this case I

    again can think of many examples we're

    keeping score by changing a variable can

    be much simpler than sprites that have

    several functions embedded within other

    functions so my last question while

    reading through this article was how

    could a model like this account for

    sophistication evident with the

    efficiency of code so in the show notes

    include a link to a tweet where I was

    multiple years ago I shared out how I

    was working on this infinite drum set

    and I took the snare code and I narrowed

    it down from 64 lines of code to 9 lines

    of code all while maintaining the exact

    same functionality in other words my

    code was much more efficient in terms of

    the amount of overall space it was using

    and it's just overall design so when

    thinking of instances like that how

    could this model also account for

    efficiency in code because at the moment

    it's just are you using these patterns

    and are you using these mechanics not

    necessarily how efficiently or

    effectively are you using them and again

    that's not a critique on the authors or

    the article itself I do highly recommend

    people

    read through this and I would love to

    hear how people are using this potential

    model inside their classroom now with

    all that being said it's just a quick

    reminder that if you're interested in

    checking out some of the resources I

    mentioned like the assessment stuff or

    trying out Alice just click on the show

    notes for this particular episode and it

    has several links in there if you

    enjoyed this episode I hope you consider

    sharing it with somebody else for

    example do you know a middle school

    computer science educator who'd be

    really interested in learning more about

    different assessment types if so share

    this with them and they'll probably be

    like thanks person

    I appreciate you with that being said

    thank you so much for listening to this

    episode stay tuned next week for another

    interview and then two weeks from now

    another unpacking scholarship episode I

    hope you all have a wonderful week

Article

Werner, L., Denner, J., Campe, S., & Torres, D. M. (2020). Computational sophistication of games programmed by children: A model for its measurement. ACM Transactions on Computing Education, 20(2), 12:1-12:23.


Abstract

“This article builds on prior work that aims to measure computational learning (CL) during middle school. Since game computational sophistication (GCS) has been used as a proxy for a student’s engagement in CL we build on their model to more completely describe the relationship between different types of building blocks of computer games and GCS. In doing so, we present a single quantitative measurement for GCS. Our model, called GCS 2.0, has face validity for 39 games, each programmed by a pair of middle school children. We choose four of these games, two with high GCS and two with low GCS, and discuss the computational building blocks found in each game. We do this to help the reader better understand our measurement of GCS and its relationship to CL.”


Author Keywords

Computational thinking, student assessment, K-12 education, computational sophistication, computational learning, game programming, pair programming, middle school, assessment, and measurement


My One Sentence Summary

This article unpacks how the authors updated the game computational sophistical (GCS) model to account for computational learning evident within 39 games development by pairs of middle school children.


Some Of My Lingering Questions/Thoughts

  • I'm curious how this model would have differed if the analysis was based on the process rather than the product.

  • How might the model differ if it also accounted for code that was initially include or attempted, but ultimately removed from the final product?

  • How might educators use this model in combination with ipsative assessments?

  • How might this model account for variances in complexity evident across the different patterns and mechanics?

  • How could a model like this account for sophistication evident with the efficiency of code?


Resources/Links Relevant to This Episode



More Content