There’s an interesting NYT piece today on how some universities are offering courses on computer science – or “computational thinking” – for non-CS majors. Some of these courses involve teaching programming languages like Python, but others are more focused on the issues around computer use and the ways they work.
Michael Littman, who leads the computer science department at Rutgers University, agrees. “Computational thinking should have been covered in middle school, and it isn’t,” he says. “So we in the C.S. department must offer the equivalent of a remedial course.”
And why not? Computational thinking should have been covered in middle school; not computer programming per se, but thinking in structured, logical ways that help students understand not just how computers work, but how they can work – without which it’s hard to begin really imagining creative uses for them. And given how much of the world is created through programs and programming – and especially how much of the information world is built around that – journalists should have at least a passing knowledge of computer science. And numeracy.
The piece cites a paper by Jeannette Wing of Carnegie Mellon University that makes a passionate case for making computational thinking a basic skill.
Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability.
Computational biology is changing the way biologists think. Similarly, computational game theory is changing the way economists think; nanocomputing, the way chemists think; and quantum computing, the way physicists think.
This kind of thinking will be part of the skill set of not only other scientists but of everyone else. Ubiquitous computing is to today as computational thinking is to tomorrow. Ubiquitous computing was yesterday’s dream that became today’s reality; computational thinking is tomorrow’s reality.
Without these skills – or more accurately, these mindsets – journalists risk ceding control over large parts of our future to others: Not just in terms of our ability to crunch data for stories, but also in the way we can design and build visualizations, apps or publish and distribute our work. We don’t just write stories now and hand them over to folks at the printing press to put ink on paper; we are – or can be – responsible for the creation of the entire work, from idea to finished product. Even if we don’t want to do all that, we should at least understand what the possibilities are.
I was watching my 11-year-old son begin experimenting with a Lego NXT robotics kit today, and was very gratified to see him have an instinctive sense of programming. Whether or not he takes to it, it’s nice to know it computational thinking isn’t completely alien to him. Now if only his father can get past the halfway point in the introductory book to Python.