In a blog post earlier today, Mark Guzdial argues that computational thinking requires learning with a programming language. Unlike many such claims and counter-claims, his is based on a wealth of research, most recently an excellent dissertation by Juha Sorva. I strongly agree with Mark's position: our real goal in Software Carpentry is to teach computational thinking, but the only way to do that successfully is to teach some basic programming skills and use those to convey larger ideas. If we're successful in getting follow-on funding at the end of our current grant, we're going to work hard to re-cast everything in this way.
Originally posted at Software Carpentry.