Go to the Data: Two stories of (really) Computational Thinking
Barb is on a panel on Computational Thinking at the Scratch Conference this afternoon. We’re as confused as anyone else what “Computational Thinking” means, but I’ve had a couple of recent experiences that have highlighted for me one aspect of computational thinking, something which I feel is really computational thinking — not computer science, not algorithmic thinking, not mathematical thinking.
Story 1: It’s in my foot and my iPod. I like to run. Running doesn’t always like me. I had knee surgery for a torn meniscus three years ago. The last two Peachtree 10K runs, I’ve been registered, but have torn a muscle (calf one year, hamstring the next) within weeks of the race and missed it, forced to take 6-8 weeks off. I have now been running since January without injury.
So I was really bummed when I went out to run a five mile a couple weeks, and after two miles, I had the all-too-familiar feeling of my hamstring straining. It didn’t pull or tear, but I turned around, and ended up walking more than a mile of the two miles back. I took a couple days off, ran short runs and worked out on the elliptical, and within a week, was running 3 miles again without pain. What happened? And how could I avoid it in the future?
I have been running with Nike+ iPod since Christmas. A fob goes on my iPod, and a sensor goes in my shoe. When I next synched my iPod to the Nike+ website, I decided to look at my last few weeks worth of runs. Here’s what I saw, with my scribbled red arrow on the run where I was hurting:
When I look at this graph, I see lots of runs averaging around 3 miles (particularly when I was traveling alot), then one run above 4 miles, then a handful of shorter runs, then within two days, my two longest runs of the summer (4.71 and 4.75 miles). Two days later (with elliptical and weight work in between — no rest days), I tried to go even further at five miles. Well, duh! I think I pushed myself too quickly. It’s one thing to increase my distance. It’s another to do it day-after-day, without shorter runs or rests. I have to ramp up slowly, not increase my longest distance every day. That helps to explain my Peachtree training injuries too, as I tried too quickly to ramp up to 10K mile runs.
I showed this graph to Barb and told her my reasoning. She said, “That’s computational thinking!” I think she’s right.
Story 2: It’s not blowing in the wind. Atlanta, like most of the country, has been wicked hot this summer. The newspapers are using phrases like, “Hottest summer in 30 years!” Is it really? I was wondering, and I was wondering how I could find out.
I went to WolframAlpha and typed in “temp in Atlanta.” From the “History” pull-down menu, I selected “Last 5 years” and saw this graph.
I find this graph unconvincing that this is the hottest summer in even the last five years. This looks like pretty much the exact same curve and the exact same maximums across the five years. Then I clicked the “More” link, and got these graphs:
The humidity is high, but it looks higher back in 2007. But look at that last one, the wind speed. To my novice eye, that looks like the lowest wind speeds in the last five years. Maybe that’s why it feels so hot? It’s not the temperature, it’s the lack of wind? And maybe that is related to the high humidity?
Computational Thinking includes Going to the Data. The common theme in both of these stories is “Go to the data.” In both cases, I realized that data had been collected that could help me to answer my question. This is computational thinking. In our modern world, there are lots of data being collected (or can easily be collected), stored in the cloud, and available for processing. Dealing with these data is different than mathematical thinking (though the interpretation of the visualizations is clearly mathematics), algorithmic thinking, and notably for me, computer science. None of the above looks like computer science to me. However, it feels like it’s important for 21st Century citizens to be able to do this kind of reasoning.
Some of the questions that I had to answer for myself here, and that we’d want students to be able to answer for themselves, include:
- Are the data already collected that help me to answer my question? Or can I easily collect the data? WolframAlpha has an amazing collection of data already available to crunch. My run data comes for free after I put the sensor in the shoe, and run with my iPod — which I like to do anyway. (FYI, my current top running accompaniment are tunes by John Prine, Pink, Coldplay, and the soundtrack to “Mama Mia!”)
- Is the data what I want? Do I trust the data?
- What can I access in the data?
- How can I query and visualize the data?
Of course, next comes the interpretation of the data, the inference and development of hypotheses. I’m not saying that that’s computational thinking. Understanding a model requires knowledge of science and mathematics. But it really is uniquely computational thinking to find (or create) these collections of data and use them to create the visualizations that allow us to apply our knowledge of science and mathematics to answer our questions.