Abstract
The issue of early computing education is very complex. It has connections with many other -- close and less close -- domains. In this talk I intend to touch some of these connections, to some extent. Obviously, such a light treatment, of some of the connections, and only to a certain extent cannot lead us to well-formed conclusions regarding early teaching of computing. Specifically, by the end of this talk we probably will not be able to agree on the proper age to start computing education, or on the corresponding didactic philosophy. But, there is a good chance that by the end of this talk you will become familiar with the set of the relevant connections and the domains they connect.
Historically, computing education started in universities and colleges. Then came high-school computing education. In some countries this happened earlier than in others, while it is still waiting to happen in other countries. The next stage was middle school, and even below, to primary school, down to ages as young as 5. Not surprisingly, a common strategy, used in many (mainly earlier) cases, was to rely on a pedagogic approach and a curriculum of a certain level and adapt it to a lower-age level. Adaptation is for example using a simpler language, more suited to younger students, to teach the same set of knowledge units. Another example is deleting from the programs complete units, usually the most advanced ones.
As most, if not all of you, already know this is not a very effective strategy. Many pedagogic methodologies that help and support learning of undergraduate students do not work (and sometimes even disturb or hinder) when it comes to learning processes of high-school students. Of course, the same holds when going down from the high-school level to the middle-school level. This is even more explicit when going down from the middle-school level to the lower levels of primary school.
Obviously, this is due to students' age. Younger students probably understand the same material slower than older students. They need more help, more guidance and support. So, if we take our adapted program, but allocate more teaching hours, and perhaps even more teaching staff, will that improve students' learning? No, it will not, as probably anyone would guess.
A third-grade student is not merely younger than himself or herself in 10th grade. Cognitive-wise, one can quite safely say that these are different children. During school years a child undergoes a huge cognitive development. As this process of cognitive development moves forward, the child abandons certain thinking patterns and strategies, and acquires others instead. Such a clearly different set of thinking patterns and tools calls for a different pedagogical planning. Instead of adapting a well-tested and reliable program for older students, one must start all over again, from scratch, wearing different pedagogical glasses.
So, educational curricular theories that are applicable to school ages are relevant. Pedagogical knowledge regarding other schools subjects is also relevant. After all, this curricular challenge is not unique to computing. For example, this is also the case for mathematics and science. Computing has something in common with both. Can we use the knowledge acquired by the corresponding educational communities, and if so -- what parts of it? This requires deep insights into the essence of these subjects -- mathematics and physics as the borrowed subjects, and computing as the borrowing one. Such an insight is essential in order to determine which pieces of borrowed pedagogical knowledge are relevant to computing.
A deep insight into the nature of computing is highly important in other contexts as well, for example, for handling the following important questions. Is a certain proposed program teaches computing, or only some subset of it that is too narrow to be called computing? What is the smallest core that still yields a program for teaching computing?
This is just a taste of issues and domains I intend to look at. The younger the intended age for computing education, the more challenging is the task of computing educators. This is true even for the preliminary sub-task of determining feasibility, that is, whether learning computing is possible at a certain age.