Updated: Sep 2, 2021
In a previous post, I covered the Junk Food of Code and explained why the Four C’s (Concepts, Context, Capability, and Creativity) are important for developing healthy and sustainable coding habits - helping kids to build lifelong skills, passions and perhaps eventually, careers, in technology.
In this post, I cover who is cooking - or in other words, who is the teacher and how can parents figure out the difference between high-quality coding classes and poor-quality coding classes? Coding is rapidly becoming a requirement in schools in many countries, but there is still a great variety of providers, some of whom are extremely good but others who hire the cheapest teachers available to try to make a profit.
Why does this matter?
In the food world, we know the difference between fast food and custom prepared food. In addition to the difference in the ingredients, these foods also differ in who is cooking. Fast food restaurants have largely pre-prepared food which employees with minimal skill can re-heat or fry up. It is a cookie-cutter preparation and the preparer has no special cooking skills. Food made by a chef, on the other hand, combines not just the ingredients but the chef’s likely years of experience in creating dishes with varieties of taste, nutrition, and calorie value. A good chef can adapt a dish to meet the customer’s needs and also explain exactly what is in the dish and why it works. Good chefs can create varieties of dishes for their customers to enjoy and can help customers explore food and ingredient combinations.
The same applies to coding classes. A low-quality coding class is the equivalent of fast food preparation. The teacher is minimally qualified and is only able to deliver the prepared material in a rote manner. They cannot answer questions about Context - how the material can be used in real life and how real-life software programs work. They do not have the experience to inspire the Creativity of students, and they may not have enough training to build strong Capabilities in the students. It is possible that advanced students will outstrip the capabilities of the teachers.
A great coding class, however, is like working with a chef of code. The teacher is an expert on the material and can answer questions and adapt the ma