There is an old joke about an individual deciding to learn the Chinese language. This is definitely a difficult task, especially for someone who has grown up in a totally different culture with a fundamentally different concept of an alphabet and language structure. The response of the individual to the naysayers is that the language cannot be that difficult to learn since he has seen so many children in China speaking it freely.
There is of course plenty to say about this in terms of the plasticity of our brains when we are younger. The neuroscience of language is astounding and still has a lot to learn. But it is clear to all that those things we learn when we are young, stay with us much better than if we learn them when we are older.
Of course, what we learn at different ages, must be age appropriate. Trying to teach a two-year-old calculus will likely not work very well. There is obviously something about language that is programmed into our brains such that it is a task that we can pick up easily as children, but with much greater difficulty as we age.
The following article discusses an issue that has been raised more and more over time. should children be taught how to program? I am not a linguist and it definitely would be interesting to hear the opinion of such an expert, but strictly speaking, a programming language is a language. Many higher end languages are relatively simple in their syntax and “sentence structure”. Also, in programming, there are no exceptions to the language definition. All you have to do is try to explain to a child how to pronounce the English suffix “OUGH” and you immediately realize just how variable a spoken language can be. Such cases simply do not exist in the programming world.
Strictly speaking, no one knows what would happen if children were taught to program from the youngest age. Also, the curriculum would have to be designed to be appropriate for each given age, and to be progressive over the course of the years of study. As I said above, you don’t start teaching calculus in great two.. but it is based on the mathematical foundations that are taught over the years, that a university student is able to study, understand and even master advanced mathematics.
So the same would be true for programming. Just as a child learns early on that one plus one equals two, the same child could be taught that this is true only within a decimal-based system. If on the other hand, you teach the child that there is the decimal-based system for general use but the binary system for computer use, then the child might be able to understand that one plus one equals 10 in a binary world. Once again, I would not purport to be an expert in this topic. You would need to consult with educators, programmers, linguists, most likely psychologists, and neuroscientists to decide on an acceptable curriculum over the course of an elementary and high school education.
The potential benefits of incorporating programming into basic studies are tremendous. It is at this point a given that our children’s world and culture will be very different than ours. I’ve mentioned this before, but it is likely that my grandchildren will not understand the concept of a steering wheel, just as my children are not acquainted with the concept of truly “dialing” a phone number. It really does sound funny to hear someone still use the expression, “I dialed the number but just got the answering machine”. As time goes on and all connectivity with others will be initiated by voice commands, the concept of a phone number will likely fade away. Of course, you will need a way to uniquely identify “John Smith”. But, trust me, the computerized world in which my grandchildren live will know how to deal with this.
If we are teaching programming to young children and continuing to do so throughout their educational lives, it will likely encourage all children to study all STEM topics. STEM is an acronym referring to the academic disciplines of science, technology, engineering, and mathematics.
And what of those children who do not enjoy these topics, and are more inclined towards the general arts? Firstly, all you need do is look at the visual representation of a fractal, and you begin to appreciate the true beauty in math and science. Also, as time goes on, art will incorporate more and more tools that are based in the STEM fields.
And what of those children who have a developmental delay such that they fall behind in or are limited in their ability to study the STEM fields? Well, they would be identified early on and assisted just as any child with a learning delay can be assisted in the present day school system.
Teaching programming to children will separate generation from generation. Whereas many parents can still help their children with lower end math and history, most parents today are not programmers and are not acquainted even with the most basic concepts. When your child in grade 5 comes to you asking you to explain the different types of sort algorithms available, it will be difficult to look back at your child and simply say “I have no idea”. I assume that as part of the curriculum, there will be more and more online assistance, either automated or human-based. But learning programming could very well separate older and younger people in a very fundamental way.
I should make it clear that studying programming is not just about writing basic commands to have a computer display a picture. Programming involves learning a whole new way to imagine. A programmer sees things differently. I can say from personal experience that my programming background helps me to conceptualize problems in a fundamentally different way than my medical training. The combination of the two is extremely helpful and is one of the reasons why I can often bridge certain misunderstandings between physicians and technologists.
The next obvious question is who will teach this new curriculum. Most educators are not well versed in programming and mathematics and algorithm development. Ideally, individuals who are already versed in these topics will be drawn into the educational world, including elementary and high school teaching. it will likely be necessary to pay such educators more. And this will likely lead to an overall increase in teachers salaries. And this will likely lead to an overall increase in the level of respect that teachers command. I hope it is clear that so far, everything I am describing is a positive.
Where the money come from? I don’t know. The traditional sources are our taxes and private donations. If governments recognize such programs as no less critical to the survival of their nation and culture than the development of new weaponry, then such programs could have access to billions of dollars. I am not a lobbyist and definitely not a politician. But I believe that such issues could be worked out relatively easily. I believe it would be difficult for any party in a democratic society to argue against instituting better education of this type.
I am sure that there are economists who have already calculated the potential benefits of such a widespread increase in the quality of education. Generally speaking, such economic models speak of trillions of dollars in initial investment, but tens or hundreds of trillions of dollars in return on that investment. Admittedly, it is hard to imagine such quantities of money being so easily referred to. but once upon a time, few people ever used the term “billion dollars”. Perhaps this is part of the new cultural reality that our programming children and grandchildren will grow up in.
I could go into a long discussion of the health and medical benefits of having better educated populations. Let me instead give just one example of the potential benefits of this new way of educating. When every parent//patient who walks into the doctors office, fundamentally understands the concept of cost/benefit, it will make it far easier to practice evidence-based medicine. This alone will dramatically improve medical care efficiency and will most likely lead to tremendous savings in healthcare.
I guess the new slogan will become something akin to “a programmer’s mind is a terrible thing not to fully develop”.
Thanks for listening