There is a common misconception that in order to be good at computer programming, an individual also needs to be good at math (meaning advanced math). That misconception has been hanging around now for decades. It's present in work and speeches dating back to at least the 1970s.
Pedagogical approaches matter a lot to the success of content delivery and content mastery. The idea of content mastery seems more and more antiquated as time goes by, human knowledge and experience grow, and computers become more powerful. Nonetheless, we should consider that content and content mastery still exist—even if they look different than they used to.
I believe that teachers want their students to be successful, and most define success as requiring a relatively high degree of independent mastery of skills, competencies, and knowledge. Wanting student success and knowing how to attain it, however, are two very different things. My mother, for instance, was educated in France and would not have agreed with my above assertion about teachers wanting student success. Her pedagogical experiences as a child in the French equivalent of our K-12 system, and later, as a student at the faculté de droit at l'université de Bordeaux and still yet later, at l'université de Montréal were based on nothing more sophisticated than the old fashioned idea of sink or swim. When, as a teenager, I floated the idea of attending a French university, she warned me that the approach to education was very different: that teachers did not spend very much (meaning, any) time on helping students learn. She explained that exams were designed to separate the wheat from the chaff: the vast majority of students were considered chaff, and a select group were considered wheat—the pedagogical approach (such as it was) reflected this belief. In many K-12 settings and universities this approach is still predominant.
This type of teaching cannot continue in an R&D world. The more industry relies on research and development, the more it needs greater numbers of well-educated university graduates: people who can communicate complex thoughts clearly, who can read for meaning, who question, analyze, and draw conclusions while situating them in appropriate socio-economic and historical contexts. Doing so avoids myopia, moving us closer toward excellence in problem-solving.
This past Saturday was the 19th ACSE.net conference. That stands for the Association of Computer Science Educators. Peter Kuperman and I both attended. I was able to get away in the morning and be there for the whole day because Peter looked after our children in the AM; he joined me in the afternoon, leaving the children in the care of a trusted babysitter. We were so pleased to be at this conference. For us both, it was a real pleasure to connect and re-connect with professional teachers and educators whose passion is to achieve real learning outcomes in computer programming/computer science. In addition, it was wonderful to see some participation from CanCode recipients: Kids Code Jeunesse was there, although none of the other government funded organizations made it out.
As the degree of technological change and human knowledge continues to grow by leaps and bounds, teachers and policy makers must grapple with several important questions:
One of the reasons we do what we do at Hatch is to keep coding relevant for our students. Here are some interesting Canadian facts and figures which will help clarify why there needs to be change in how coding is taught.
Product for Teachers & Students of Computer Programming—that's our obsession around these parts.
Laura Gini-Newman is an educational mathematics specialist and consultant to schools and school boards around the world. Over the course of several months, she and Hatch co-founder, Peter Kuperman, mapped the many ways in which coding helps with success in the learning of mathematics. This work was undertaken as part of the Hatch Leadership Team initiatives to research the impact of innovation in industry on learning in the classroom.
According to Hatch co-founder, Peter Kuperman, kids learning code is like long-distance running because: