Programming to Learn

webmaster Blog News

It’s widely acknowledged that teaching children to code early in life is a good idea. Programming is the fourth essential skill, after reading, writing and arithmetic. It can level the playing field and unlock hidden potential in many students. It shifts emphasis from what you can memorize and do with your hands, to harnessing silicon muscle and the world’s information.

When most people contemplate a child programming, they think the aim is to develop games, mobile apps etc., potentially heading to a career in technology. This may be a fine side effect, but it’s not what I’m after. The real purpose of having schools teach programming, in my opinion, is to empower students to learn all subjects differently and better.

Imagine if computers had been invented before textbooks, and coding were as natural as reading and writing. A textbook wouldn’t just be about text and pictures. It would be a virtual maker space for that field of study. An interactive, extensible platform, within which one could experiment, build, collaborate, and publish artifacts and projects.

For STEM and Social Sciences, I see a need and an opportunity to build what I like to call ‘Programmable Learning Spaces’. These are virtual worlds designed for specific subjects in order to support Project Based Learning. They can be quite sophisticated and extensible, just as modern games and virtual worlds like Minecraft tend to be.

Today PBL doesn’t work very well for STEM, because the constraints of the real world are limiting. Projects are contrived. Kids build chemical volcanoes because they are easy, not because they teach you much. It’s not very practical to have them mess around with radioactive elements or engage in space exploration. In a virtual environment these constraints do not exist. You can do anything that programmers can simulate and let you extend. For example:

Imagine simulating a chain reaction, with radioactive elements you design. Measure the energy generated to find the most efficient arrangement.
Imagine hacking a virtual solar system. Add new planets and moons. Chart the course of a probe, dealing with real gravitational forces. Simulate eclipses and seasons on other planets.
Imagine being able to visualize sound waves. Apply filters and see and hear the output. Place speakers in a virtual room and compute how your music sounds in various places.
Imagine learning about quadratic functions by manipulating curves. Spin and translate them to create volumes. Composing volumes to design objects, that you print with a 3D printer.
When kids come home they have to choose homework over the allure of games or Minecraft or social networks. What if homework incorporated the best elements of those environments? The ability to inhabit a virtual world and work with peers to build something is exciting and liberating. It can also be educational.

There’s a lot to figure out, but I do believe it’s time to liberate PBL from the constraints of the real world. Building ‘Programmable Learning Spaces’ that are effective and widely adopted can be lucrative. If educators open the door, the software industry has the talent and capacity to provide what’s needed.

Posted by: Krishna Bharat