What does computational thinking mean?
From Wing
(2006), it seems that the following are important.
- Computational thinking involves problem solving.
- Computational thinking uses abstraction and decomposition to attack large complex systems.
- Computational thinking is about conceptualizing, not only about programming; it’s about the ideas, not just rote skills.
What are the different
characterizations of relationships between disciplinary content/practices and
computational thinking?
I have been
trying to work this out in the past couple of weeks, and this week’s readings
helped with this question, so I’m going to try to summarize my current understanding
here. I also think whether particular disciplinary content supports or does not
support computational thinking depends how one conceptualizes the relationship
between the two.
Here’s what I’ve
catalogued so far.
- Computational thinking facilitates content learning. For example, students writing out codes for different theories of how an object fall helps them better visualize differences between theories.
- Content facilitates learning to program. For example, students who know something about a complex system can investigate a model in NetLogo, and leverage their understanding about the system to understand the programming.
- Computational thinking becomes an integral part of learning in that discipline. This means that it’s not just a tool to help students better understand the content, but computational thinking has a role in doing that discipline.
I’m still trying
to be more clear about this, so that when I read other people’s work, I can
quickly grasp what they are doing, and also so that when I design for learning,
I can be clear about what I’m doing, while keeping other goals in mind.
Literacy
Burke (2012)
pointed out that in the storytelling format, students engaged with only a
subset of programming concepts coordination and synchronization, parallel
execution, loops and event handling, and rarely engaged with Boolean logic,
conditional statements and variables.
A few months
ago, I did a small investigation for another class. (Doing an investigation is
a little bit an overstatement; I just took a glance.) I was wondering whether
different kinds of project Scratch users chose to do afford different kinds of
opportunities to engage with programming. I went to the “Explore” page on
Scratch. I looked at projects under the Stories and Games categories.
I sorted projects by “Most Loved” in the past 30 days. Below is the numbers of
scripts / spites used in the top ten projects listed under each category.
Here is what I
found.
What I found
agrees with what Burke found. I took a look at that because oftentimes the
rationale to use storytelling to motivate programming is often gendered, e.g.
in Erete et al. (2015) or Storytelling Alice (a Logo-based platform developed
specifically to motivate girls to do programming).
There appears to
be a distinct difference in the numbers of scripts and sprites used in Stories
projects and those used in Games projects. This difference does not suggest
that Stories projects are more simplistic and Games projects are more
complex. However, the difference does suggest that people who tend to create
stories with Scratch and people who tend to create games with Scratch may have
different opportunities to learn to program. I don’t mean to suggest that it is
simply a matter of more opportunities and fewer opportunities to learn (which
in turns leads to more skills and fewer skills), although that may also be the
case. More importantly, this difference suggests that people may come to
know programming very differently, because they have differential access
to different programming practices depending on what kinds of project they
choose to engage in, and this difference is typically found to be gendered.
I want to
acknowledge other kinds of work that this approach is doing, namely it has
a lot of potential to give girls another space for identity work, as Erete
et al. (2015) pointed out. However,
while the storytelling approach may be useful in initiating interest in
programming for girls, I still wonder what is the rest of the trajectory may
look like so that girls really do have access to all the facets of programming
practices.
If our goal is
to introduce students to programming, so that they can use it to whatever they
want to do with it, then storytelling seems to be a productive format; students
who are interested in that format can see the point of programming, and use
programming to support what they are doing with storytelling. If our goal is to
make sure that students have opportunities to engage fully with computational
practices, one format might be too limited.
Science
I only have a
short question in terms of computational thinking + science. I rarely see works
(possibly because I haven’t read that much) that discuss what
designers/educators can do to support student thinking about the connection
between the models and the physical world. In other words, how do I trust that
the swarm of little turtles on the screen has anything to do with anything?
The connection-to-the-physical-world problem for science nags at me too. That is why in the project that I did for Paul's class, last semester, I really focused on having kids plant things and dig things up to inform their models. But when I did that, it seemed like most of the content learning happened in diagrammatic (paper, drawing) models, which kids used to synthesize, try out, abstract and reduce ideas, or during the process of physical modeling, where they designed contexts to test their ideas and collected data to confirm or challenge their ideas.
ReplyDeleteI value computer science/computational modeling in its own right - I think that computational thinking does give kids a lot of tools for problem solving. But I wonder if computational modeling in that context helps kids deepen content knowledge, or just is a way to add computational thinking into a project where it otherwise wouldn't be. Doug and Corey also talk about leveraging computational thinking as a tool for collaboration, but I don't think we did that well in our project - there was no additional type or amount of collaboration moving from diagrammatic to physical to computational models. I guess my question is more: how do we integrate computational modeling with other types of modeling in a way that adds value to students engagement/experience with content?
To address your question - in Wilensky's work, at least specifically with the fireflies example (which I think was in a different paper), they connected the model to the real world by having kids look for data in journals and use that data in their models. This is kind of like the "experiment optional" version we talked about on my post for the ants. It would be better for kids to get their own data in a lot of ways, but maybe the kid couldn't catch and study fireflies (cost, time, location, etc.), so we make do with other's data (which empowers findings of adult scientists over students).
I think you bring up important gendered issues with programming. I can't really articulate why, but it bothers me that so much of the work with getting girls to program focuses on storytelling or e-textiles. It's like making Legos pink to get girls to play with them. It seems stereotypical and limited. It's really just touching the surface of girls' interest in programming and not getting to the deeper roots of why girls have trouble identifying with computer science, what sociohistorical, cultural, community issues are also there. It just seems like a quick patch on something that goes much deeper. And like you said, what happens after that? Getting girls to start programming is one thing, but what about persistence? That's another huge issue, and I think a more important one.
ReplyDeleteI agree that it is important to address the issues of stereotyping intertwined in the nature of attempting to engage specific populations in programming. While is is important that we as educators aim to promote computational literacy across multiple populations, it is important to ensure that our attempts at accomplishing this are socially, and culturally responsive. How we can ensure that this happens, will require some more in depth research and discussion.
ReplyDelete