If you want to boil a frog, the conventional wisdom is that you put the frog in cool water and slowly turn up the heat until it reaches the boiling point versus starting with boiling water and putting the frog in; sensing the huge delta between ambient and hot water, the frog will jump out of boiling water every time. The first time I saw a command prompt was in an Introduction to Computer Science course as a freshman in college. I found it extremely intimidating and I immediately thought that programming wasn’t for me. In essence, the way I was taught about programming was by being asked to jump into boiling water. It wasn’t until several years later as a product manager at Redbox that I began to appreciate that programming was fundamentally about developing solutions to difficult problems and code was simply the language (method of communication) used to give the computer instructions to systematically execute. So, what does boiling a frog have to do with teaching kids how to code?
Room Temperature Water
Since founding Digital Adventures, we have had the privilege of taking hundreds of students through thousands of computer coding & engineering design projects. Each of our projects starts out with an introductory physical activity and concludes with kids building something tangible – a robot or Minecraft mod. From start to finish, most projects take between 60 and 90 minutes to complete. During this period of time, kids are learning about designing objects with structural integrity or incorporating functions into loops so they will execute over and over again. However, instead of learning about conditional statements as the anchor or focal point for the lesson, they are learning how to do design a robot with bio-mimicry (mimics nature). The outcome of this approach is that a kid will design a killer whale and use loops to actuate the fins that move the whale.
Turning Up the Heat
Over time, we have discovered that kids begin to ask us how to take their initial projects to the next level with additional customizations. In essence, kids are developing a natural curiosity about how to implement new & different solutions once they have a baseline understanding of how programming works. For example, some kids will take the creation of a custom block as part of their Minecraft Modding project and ask how they can code their block to explode or glow. In education, we call this a teachable moment
. Given the growth of open source development and the utilization of functions, these kids have gained an intuitive understanding of how to repurpose previous work to fit a given outcome. Instead of an instructor pushing students along a given path, kids have essentially turned up the heat themselves and in the process expanded their knowledge of computer programming and the development process.
As kids continue to practice and develop their problem solving skills within the realm of technology-based solution development, they will not have to deal with the feeling that I and many of my peers experienced during our introduction to computer programming – jumping into a pot of boiling water. Instead, their early introduction and repeated exposure over time will ensure that they have the necessary skills to solve problems that will have the greatest impact on the broader society.