Computational Mapping: An important set of skills in Computational Thinking we can define and test
October 15, 2018 at 8:00 am 8 comments
Last month, I blogged for CACM about a “Twitter convo” (conversation) that I was part of recently, Computational Thinking, education for the poor and rich, and dealing with schools and teachers as they are: A Twitter Convo #doesComputationalThinkingExist.
Part of that conversation was a series of tweets about meanings and alternative terms for computational thinking.
- Lorena Barba tweeted a thread with different definitions of computational thinking, including many she disagreed with and a few that she recommended to us.
- Mitchel Resnick tweeted that they use “computational fluency” to recognize the importance of students developing their voice and identity — “the importance of having the ability to create and express oneself with digital technologies”
- Mark Sherman said that his group at MIT is using the phrase “computational action” to think about how people can use computing to “take action on local, authentic problems, and make a difference.”
- Not in the convo but relevant is Yasmin’s Kafai’s argument to shift computational thinking to computational participation (see CACM piece here) which changes the focus to the social context and the interaction with others around use of computing. (Thanks to Ben Shapiro for pointing out the connection.)
Shuchi Grover emphasized in this convo that she sees CT as the connection between programming and other kids of thinking skills. The skills that she’s promoting and teaching are critical to the use of computing in science, for example (as she talked about here). I think she has her finger on an important set of skills, but I don’t think that they’re “computational thinking” by any of the most popular and often-used definitions for CT. CT has a set of meanings associated with it. W are more likely to hide a good set of concepts behind a vague term than to get the term re-associated with a good, new meaning.
Here’s a proposal for a name for at least part of what Shuchi is promoting and teaching: Computational mapping. Computational mapping is about making an association between computational representations and objects in other domains. Computational mapping skills include using the computational representations to improve understanding of and predictions in the other domains. Computational mapping skills should also include recognizing the limitations of the computational representation, when the mapping is missing critical characteristics of the objects in the domain which limit our understanding and predictive capabilities.
Most computer programs are mapping from the real world (that is continuous and filled with complex and real numbers) to a set of discrete values that can be represented in bits. There is not a 1:1 relationship between the real world and the computational world. Whenever we create a mapping, we may be capturing exactly the right things (e.g., if you want to simulate projectile motion, position and time is all you really need), but it’s more likely a mismatch, though many times the mismatch is not something we worry about. Our RGB color scheme can’t capture all colors, or all colors that butterflies can see, but that’s okay — we’re just making colors for humans.
I see computational mapping skills in lots of the things I think about today.
- When Seymour Papert was first promoting the Logo turtle, he talked about it being “body-syntonic.” You could map the turtle to your knowledge and sense about one’s own body. That’s making programming easier through computational mapping skils
- I attended a fascinating Engineering Education Research session where we talked about Julie Gainsburg’s work on engineering judgement. I particularly like one of her paper titles, “Developing skeptical reverence for mathematics.” When is a mathematical or computational model a good enough or precise enough estimation? When you get a result that you didn’t expect, when should you question the implementation of your model, and when should you realize that the results are telling you something new? Engineers and scientists have to do this all the time, and it’s harder when the result is coming out of a computer, looks really slick (high-quality graphs!), and has many decimal places.
- Joy Buolamwini’s terrific TED talk and Algorithmic Justice League are pointing out that our algorithms for facial recognition are missing critical characteristics of faces that we want to be able to recognize. To even realize that that can happen, that you can come up with computational recognition systems that aren’t recognizing the parts of the world that you need, is part of computational mapping skills.
- The use of types in programming languages are really an exercise in computational mapping. Does this type really capture the characteristics of the objects and data that I need? When are my types mismatched? When are my types insufficient, e.g., are floating point numbers really the same as real numbers?
- I recently told Alan Kay about some work I’m doing in using simulations for teaching social science. He cautioned me that it’s too easy to get the mapping wrong when modeling social science concepts on a computer. Physical situations (like projectile motion) are more exactly mapped and are a better place to learn through using computational modeling. He’s right, of course. But if we modeled physical situations in elementary/middle school, then high school would be a good place to explore the limitations of computational modeling and simulation, and social science is a good place for that.
CT is such a big and vague term that I’m not sure that it’s useful anymore. We’re better off coming up with new terms (like Mitchel and Mark are doing) for the exact skills we are aiming to teach. Let’s spend our time studying the things that we think are important and that we can actually define. Both the power and limitations of computational modeling feel like something that all citizens of the 21st century should be aware of.
Entry filed under: Uncategorized. Tags: Alan Kay, computational mapping, computational thinking, Logo, Papert.
1.
gasstationwithoutpumps | October 15, 2018 at 11:44 am
” When you get a result that you didn’t expect, when should you question the implementation of your model, and when should you realize that the results are telling you something new?” seems to have the standard computer-science excessive belief in models hard-wired into the question. There are several possibilities, not just those two:
1) the model is poorly chosen (a poor approximation of reality), but better models are known (though they may cost more to compute or be harder to work with)
2) the model is poorly implemented (good math, bad programming)
3) the model has the wrong parameter values (right math, bad numbers)
4) the experiment that the model is being compared with is flawed
5) the expectations were set by poor thinking (often seat-of-the-pants estimates)
6) there is some phenomenon that really had not be expected by anyone—genuinely something new.
Although bad programming may be the most common cause of bad results in CS courses, poor choice of models, poor parameter choices, and bad experiments are probably more common outside CS courses.
2.
Quinn Burke | October 19, 2018 at 3:08 pm
Mark,
Disagree with this entirely – just when districts nationally are buying into CT, academics are telling us the term is not/ was never meaningful, and we have three replacement terms instead? No, no, no.
3.
Mark Guzdial | October 19, 2018 at 4:07 pm
If we can’t agree on what CT is, and we can’t measure it (so we can’t tell if it’s increasing or decreasing, or if learning it helps with anything else), why should we celebrate more schools trying to teach it? Don’t we have a long list of things that we thought were true, that we pushed onto schools, and later figured out were really bad ideas (e.g., learning styles, and learning geometry or Latin as a way of learning thinking skills)? I’m in favor of schools getting access to high-quality CS education (see my blog post today). As seen in this blog post, I am also in favor of taking CT apart into things we can actually define, measure, teach, and study. I believe in evidence-based methods. I don’t have evidence to support the teaching of CT.
4.
Quinn Burke | October 19, 2018 at 5:28 pm
Point taken and something I am working on given that the assessments out there for CT are even numerous than the definitions. But, practically-speaking, CT is shorthand for K-8 integration rather than a nebulous concept that needs academic consensus. And this K-8 scope lets us pull back and see the big picture: working with data, algorithms, and generating models. In terms of K-8, all the other stuff sits under this trio. I have no faith that a language-agnostic measure can be developed that can track CT going up or down, akin to a thermometer. The metaphor is inherently wrong.
5.
Mark Guzdial | October 20, 2018 at 9:20 am
I could get behind “Computational Thinking” meaning “integrating computer science principles into K-8.” Then it would mean more like “thinking with and about computing” than “computing will change the way you think.” But if people meant the *integration* definition, they’d have to stop citing Wing, because that’s not she was saying. And it doesn’t help us to understand what CT at the high school, university, and beyond mean.
Like Shuchi, you have a definition that works, but it’s incompatible with the other definitions. That’s why it’s a problematic term.
6.
Literature is to Composition, as Computer Science is to Computational Literacy/Thinking | Computing Education Research Blog | November 23, 2018 at 7:01 am
[…] and what Annette and I are calling coding/computational literacy (but which might be what Aman Yadav and Shuchi Grover are calling computational thinking). Computer science aims to prepare people to engineer complex, robust, and secure systems that […]
7.
Maybe there’s more than one kind of Computational Thinking, but that makes research difficult | Computing Education Research Blog | December 7, 2018 at 7:01 am
[…] Shuchi Grover has a nice post in Blog@CACM where she suggests that there is more than one kind of Computational Thinking, which tries to resolve some of the concerns about the term (some of which I discussed here): […]
8. Computational Thinking at Thirteen – From Computer Programmer to CS Teacher | December 17, 2019 at 3:18 am
[…] set of skills in computational thinking we can define and test [Blog Post]. Retrieved from https://computinged.wordpress.com/2018/10/15/computational-mapping-a-part-of-wings-computational-thi… Straw, S., Bamford, S. and Styles, B. (2017). Randomised Controlled Trial and Process Evaluation of […]