Saturday, September 10, 2016

Bell - computational thinking examples in science and literacy

For simplicity here, I’m thinking about computational thinking (CT) as how computer scientists think, using mostly concepts and practices from programming. Even though I really believe CT to be more than just programming and to be applicable to a variety of fields and problems (like Wing suggests).

As an example of something from the science-focused papers that wasn’t computational thinking, Simpson, Hoyles, & Ross (2005) said that “the most common limitation of students’ work while modeling was that they tended to produce specific rather than general solutions” (p. 30). Using solutions to create problem solving processes that can generalize to other problems is a practice of computational thinking. So the fact that many students’ models were limited to specific solutions shows that they were hindered in participating in this practice. But the authors did say that students did see the value of more general models after more time and help, so that’s a step towards CT.

Building on others’ work (or remixing work) and being able to share your work with others are important parts of computational thinking. Wilensky and Resnick (1999) mentioned that in some of their cases, they “introduce a pre-built StarLogo model and engage students in discussing the workings of the model – and invite htem to modify or extend the model” (p. 6). That’s one example of how you could use modeling (in their case, they were looking at the concept of levels in science) to explore the CT practice of remixing others’ work. Scratch also supports this practice with the online community, where you can share your own but also remix other works for your own creations. As an example from literacy, in the e-textiles example in Digital Divas, they have an online community where people can share and comment on each other’s work, too (Erete et al., 2015).

Creating stories through programming, like storytelling in Scratch (in Burke, 2012), familiarizes students with some CT concepts more than others. Creating stories can be a good way to learn loops, parallel structures, and event-handling, but it’s not so strong for learning conditionals, Booleans, and variables. When choosing an activity to teach CT concepts like this, you have to think carefully about what you want the students to learn and what the design of the activity actually affords for learning different CT concepts. If you introduce an activity like storytelling in Scratch, you may have to think about another activity to introduce later on that allows students to explore other kinds of CT concepts.


What I’m wondering is if something like writing itself (not programming-as-writing but actual writing, whether with a word processor, using just text or multimedia, writing a story or a graphic novel) could introduce students to CT concepts or practices. For instance, could writing a short story (without programming) give students opportunities to think about or use loops or parallel structures or Booleans?

3 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. "For instance, could writing a short story (without programming) give students opportunities to think about or use loops or parallel structures or Booleans?"

    Really interesting -- kind of similar to the idea of embodied modeling. For example, lots of fair tales kind of have loop sequences. Here's a sketch:

    protagonist = three little pigs
    antagonist = wolf
    building_materials = [straw, sticks, brick]

    for material in building_materials:

    if materIal != sturdy:
    wolf.blowHouseDown()

    else:
    wolf.runAway() //I don't remember if this is what the wolf does.

    But I could see this being a "powerful idea" in the sense that it leverages the storytelling structures that kids are intuitively familiar with to help them learn programming logic. However, I wonder if seeing that connection would be harder it they hadn't been exposed to programming already -- does this just feel clear to us because we are familiar with both?

    ReplyDelete
    Replies
    1. Yeah, it's kind of getting at tacit CT knowledge, but how can we make it more explicit?

      Delete