What kids say when they get it. I heard this during Lightbot at the Hour of Code.
It may be that learning to code is the best way to develop those very thinking skills.
Programming languages come and go. And it doesn’t much matter whether most people master the subtleties of semicolon use in Python versus C. But the basic abilities to think a problem through carefully, clearly and thoroughly are essential for just about all people in just about all fields.
The analogy to cursive handwriting turns out to be an instructive one, though perhaps not for the reasons intended. New research, summarized in a June 2nd article by Maria Konnikova at The New York Times, suggests that the process of learning to write cursive may itself be important for learning to read, to write and, perhaps, even to generate ideas — no matter that the resulting ability is often replaced by a keyboard and decent typing proficiency.
Similarly, it may be that programming is a skill that makes us the kinds of thinkers that we need to be, even if we ultimately have the option of outsourcing our coding to clever machines.
I recently caught up with two colleague/friends of mine from McGill University, who are about to revisit and repeat some analysis we did together on Course Evaluations at the university level.
At the time we did the original analysis in 2009-10, I was the data provider. I helped orient them to their data set, as we defined it together, and I gave them some help getting their analysis off the ground. Then they took that and ran with some really interesting research questions.
They turned it into a published paper, and it (gleefully) upended some old assumptions about which students respond to end-of-semester course evaluation surveys, and what you can learn from that. It even caused some waves on campus when the findings were shared locally. Great for them, all around. 🙂
I’m not an expert in the meta-issues of doing research on an educational institution (as opposed to doing research at an educational instutition). I would have assumed, and maybe they did too, back in 2010, that this kind of analysis could easily jump the barrier between behind-the-scenes Higher Ed Administration and Educational Research.
But it looks like that transition is not as easy to pull off as it once was.
Take this in the direction of:
LW and LdG saying that the era of ad hoc research is over. Nowadays with Big Data, the assumption in peer review is not just that your results will be reproducible elsewhere, but that other researchers will be able to review and re-analyze your very own data. That certainly changes how you go into a project–you have to begin with the end in mind. Plan for anonymization, etc.
See my previous post on how all the previous teach-kids-to-program cycles petered out.
I get pretty cynical when I hear things like “This time we’ll change everything” or “This time it’ll stick” or “Technology is the wave of the future”. We were going to change everything the last time, and the time before that. And computers have been the wave of the future for 40 years, but we haven’t managed to make computing part of the school world.
Or maybe we have.
Maybe all those previous waves did work.
Maybe the kids of the 80s became the first dot-com entrepreneurial generation (think: Napster and Yahoo and Netscape).
Maybe the kids of the 90s became the second generation, the ones who conceived of Web 2.0 (think: Facebook, MySpace, YouTube).
And if that’s true, maybe the software world we see today, with open & participatory communities, adult boot camps, lower barriers to entry, and an overall more egalitarian tone, really is the cumulative effect of these waves of teaching-kids-to-program.
Maybe those waves really did change the landscape and increase everyone’s exposure to programming—but the right place to measure that is the world around, not in the schools.
And maybe this next wave is already poised to stick better than the ones before.
I’m feeling optimistic already.
Last time I posed the question: Why, exactly, is teaching kids to code so important?
And I introduced an August 2014 article from Inside Jersey about how programming is being rolled out in a number of NJ schools and why that is so great.
Did you catch how many reasons were cited? In a chain of 10 paragraphs, quoting 5 different people, there must have been 6 different angles on why programming is an important part of the curriculum.
That’s good, right?
If you read the research and the popular press, there are at least 4 plausible reasons why we should make Coding part of everyone’s school experience. (and I say “experience” on purpose)
This Aug 2014 article from a New Jersey newspaper is an absolute jumble of great reasons. That means it’s not exactly coherent and wouldn’t make a good policy roadmap, but you can see that different people can get excited about different aspects of Coding.
Here’s a succession of 4 quotes that manage to articulate 4 completely different (and great) reasons why teaching Coding is important:
“Just like we use the principles of math or the words in world languages as building blocks for those studies, code is a form of communication.”
i.e., Code is a language, a tool for expressing ideas you have.
“Code is how any technology works”
i.e., Code is a mechanism that technical and other things are composed of.
“Coding is its own language, not like anything else. It’s sort of like learning music and then applying it,”
i.e., Code is a creative, generative medium.
“I feel like this is the real meaning of and most effective way to teach logic — not in an abstract way, but rather making it happen right then.”
i.e., Code is a practical form of logic, and a good way to teach it.