7 Principles of Computational Thinking from Software Carpentry
Readers of this blog may recall that Greg Wilson has been developing a course he calls Software Carpentry, providing the computing knowledge that computational scientists and engineers will need. He just concluded his course with a summary seven principles of computational thinking, based on Jon Udell’s seven principles of the Web. Yet another take, to contrast with the CS:Principles work.
Hello, and welcome to the final episode of Software Carpentry. We’re going to wrap up the course by looking at a few key ideas that underpin everything else we’ve done. We have left them to the end because like most big ideas, they don’t make sense until you have seen the examples that they are generalizations of.
Our seven principles are:
- It’s all just data.
- Data doesn’t mean anything on its own—it has to be interpreted.
- Programming is about creating and composing abstractions.
- Models are for computers, and views are for people.
- Paranoia makes us productive.
- Better algorithms are better than better hardware.
- The tool shapes the hand.