Programming is a tool for teaching, learning, exploring, and thinking
blogs.scientificamerican.com