I understand that many are excited by “coding” and are looking for ways to insert bits of coding experience into the classroom activities they offer students. I am concerned that coding will be another educational fad that comes and then goes unless the goal of coding experiences is carefully defined. In an attempt to encourage deeper thought on this topic, consider this challenge.
The coding for all thing was original 25+ years ago and it made more sense then than now. I will attempt to explain why this is obvious to me, but may not be to many educators who have a short history with technology. I began working with “the personal computer” mid career (in the 80s). My interest was always in the educational potential of technology, but the context for this interest was very different. What might be difficult for those under 50 to understand was that at this time there was very little software. When I obtained the equipment (Apple IIs) to first pursue my educational interests, I had to develop programming skills in order to create software. I assume this was a fairly typical solution. We purchased magazines that contained code you could save and execute. Entering and attempting to understand these simple programs in combination with the review of multiple books (no Internet) and just hacking was the way we learned. Along the way, I learned BASIC and some assembly language, FORTRAN, some weird language for the PDP 11-34, hyperscript, PHP and MySQL. I was and do not consider myself a programmer any more than I consider myself a professional photographer. I have learned what I needed to know to use the tools that interested me.
A little later, there was a push to teach students to program. Seymour Papert convinced many that learning LOGO would develop programming skills and in the process encourage critical thinking and a computational approach to content areas (e.g., geometry).
What happened between then and now? Obviously, software became much more available, diverse, and customizable. Professional programmers did this allowing most of us to focus on applying the software in an increasingly diverse number of ways. We all no longer need the skills that I was required to develop.
What about teaching most students to program? There was certainly a decline in this focus. I am less certain as to why. I read the research to indicate that the general benefits did not seem to appear – students might learn some basic programming skills, but these skills seldom seemed to generalize to other academic areas. Since it became obvious that not all needed to be a programmer and there was pressure to focus in other academic areas, I assume educators shifted their attention.
I believe programming is an important vocational skills, but I am less certain that programming for all is the way to prepare the specialists that are needed. As a starting point, educators should recognize high school programming as a course meeting science or math graduation requirements. If you do not have a programming course in your school and do not count this course toward graduation, work on such goals.