The importance of Computer Science Education for general education and for the development of computational thinking is becoming increasingly clear. In Switzerland, computer science by now has a firm place in Lehrplan 21, the plan d'études romand, and the piano di Studio della scuola dell'obbligo ticinese, as well as in the nationwide framework curricula for secondary schools.
The focus should not be on short-lived knowledge about using computers and operating specific software packages, tools, or chatbots, but rather on problem solving and, consequently, the teaching of computational and solution-oriented approaches, as well as critical thinking—which is becoming increasingly important, especially in the age of Generative AI.
But even without these skills, computer science concepts should have a firm place in school curricula. Arguing that students should no longer learn to program as this can be done using large language models is comparable to demanding the abolition of mental arithmetic because of the existence of calculators—or physical education because of the existence of public transportation.
Computer science education that extends throughout the entire school career allows for an in-depth exploration of core concepts. Our teaching materials, professional development courses, and digital tools enable the implementation of such a spiral curriculum, for instance, for key topics like error-correcting codes or cryptography, and many more.
The programming lessons mentioned above represent another important example. In primary school (“Zyklus 1”), we begin with block-based programming of the Turtle in XLogoOnline Mini. First, individual command blocks are executed and their effect is observed immediately. Then, command sequences are created that even contain simple loops. This does not require the ability to read or write. With XLogoOnline Midi, we continue with block-based programming but make parameter values visible.
At the end of primary school (“Zyklus 2”), XLogoOnline Maxi is used to move from blocks to text. Again, individual commands are executed first, followed by sequences. As the next step, programs are written and named in order to use them as building blocks in more complex programs (modularization). These ultimately receive parameters as a simple form of variables.
In lower secondary school (&ldquoe;Zyklus 3”), we switch from XLogoOnline
to WebTigerPython and create more complex graphics with the Turtle,
introducing advanced concepts and
transforming the parameters into “general” variables. In upper secondary
school, we continue seamlessly with WebTigerPython, using more complex data
structures, and the Turtle can be replaced by other educational libraries such
as gamegrid or even numpy and matplotlib.
Our approach follows a historical method, in which the focus is not on the finished products of science (such as facts, models, methods, and technologies) and their applications, but rather on the processes of knowledge creation and invention.
Through experimentation, students experience the entire process of expertise development—from formulating their ideas and hypotheses to testing these hypotheses and creating their own products, which can then be tested for their properties and functionality.
This approach leads to a deep understanding of our world and the human process of acquiring knowledge. Didactically, it corresponds to a deepening of Jean Piaget and Seymour Papert's concept of “learning by doing.”
The enrichment arises from the fact that students not only constructively apply their acquired knowledge to implement their own ideas, but also independently examine the functionality of these ideas and reflect on and discuss them. In this way, they are able to gain new motivation to improve or expand the functionality of their ideas. Ultimately, this strengthens their ability to act creatively in new situations and successfully master new challenges.