Spiral thinking: K--12 computer science education as part of holistic computing education

INCREASINGLY, MORE COUNTRIES have come to recognize the importance of pre-college computing education, and K–12 computing curricula are currently being developed throughout the world. It is really encouraging, even heartwarming , to read reports from the best computer science (CS) educators from various countries , who are involved in K–12 computing curricular development. International conferences (e.g., the Workshop in Primary and Secondary Computing Education, WiPSCE, and Informatics in Schools: Situation , Evolution and Perspective, ISSEP) focus on K–12 computing education, and offer opportunities for CS educators to engage in lively discussions on various issues concerning K–12 computing education. As part of these ongoing discussions taking place through various media, I heard several arguments about the knowledge components of K–12 CS curricula. For example, some argue that K–12 CS cur-ricula should not contain specific components of undergraduate CS curricula, since otherwise, the students who have studied CS in high school will be bored when they take undergraduate introductory courses. Or, in an example having a more concrete nature, others argue that a K–12 CS curriculum should only deal with very basic data structures, such as built-in types and one-dimensional arrays. Two-dimensional arrays, and certainly lists or stacks are beyond the understanding of high-school students. And, another argument offered is that there is no need to teach more than one programming paradigm in high school, a second paradigm is too much. These three statements, given here as examples, are of different natures and stem from different justifications. The second and the third statements indicate a belief in the limited capabilities of high-school students—students can only handle so much, and we should not overload them with too many concepts or concepts that are too difficult. The first statement calls for variability—avoiding repetition or overlap when moving from a K–12 CS curriculum to an undergraduate CS curriculum. The first argument is concerned about the potential negative effects of K–12 CS education on undergraduate CS education. The other two arguments are concerned about the potential negative effects of CS undergraduate education on K–12 CS education, specifically, the effects of transferring knowledge units from the undergraduate curriculum. However, these three (and similar) arguments can be addressed by adopting the ideas of the world-renowned psychologist Jerome Bruner, whose educational theories had, and still have, enormous effect on educational practice, specifically on cur-ricular development. Bruner thought that nothing is too complex for a child, as long it is …