Section: New Results

Computer Science Education

Participants : Michael Lodi, Simone Martini.

We study why and how to teach computer science principles (nowadays often referred to as "computational thinking", CT), in particular in the context of K-12 education (students aged approximately from 5 to 18). We study philosophical, sociological and historical motivations to teach computer science at all school levels. Furthermore, we study what concepts and skills related to computer science are not barely technical abilities, but have a general value for all students. Finally, we try to find/produce/evaluate suitable materials (tools, languages, lesson plans...) to teach these concepts, taking into account: difficulties in learning CS concepts (particularly programming); stereotypes about computer science (particularly gender-related issues); teacher training (particularly non-specialist teachers).

Computational thinking and constructionism

In the last ten years, the expression “computational thinking” has been used to talk about the introduction of CS in K-12 education. The expression was originally used in the 1980s by Seymour Papert, a pioneer in Math education using programming (he is the principal inventor of the LOGO programming language). We analysed [37] the original context in which the expression originated: the constructionist learning theory, that promotes an active way of learning by constructing meaningful computational artifacts. Papert aimed to teach Math and Physics, but we think CS too is a breeding ground for applying constructionist practices like creative learning, iterative and incremental development, learning by doing, learning by trial and error, project-based learning [35].

CS in the school curriculum

As there is no established practice in teaching CS, academics should facilitate the introduction of CS principles in the school curriculum, to avoid misconceptions and to focus mainly on scientific principles, rather than on technical aspects. Within a CINI (Italian National Interuniversity Consortium for Informatics) group, we designed a proposal [27] for CS teaching in Italian K-10 schools, that focuses on CS principles, and gives space to the use of digital technologies only as tools for self-expression through computation. When introducing a new discipline, often misconceptions arise. In a large sample of primary teachers, we investigate [38], [24] the ideas about the “buzzword” coding, that is more and more used to talk about CS at school. Only 60% of teachers correctly linked “coding” to “programming” (some of them implicitly), and many misconceptions (e.g. “coding is only for children”, or “coding is the transversal use of computational thinking at school”, “programming is only for professionals”) were found. After defining a curriculum, one should also provide some materials to concretely teach the discipline and ensure learning objectives will be achieved. We presented [21] the structure of a nationwide initiative by the Italian Ministry of Education: Problem Solving Olympics (OPS). Preliminary analysis of students’ results in the last five editions suggests the competition fosters learning of computational thinking knowledge and skills.

Growth mindset and teacher training

Every person holds an idea (mindset) about intelligence: someone thinks it is a fixed trait, like eye colour (fixed mindset), while others believe it can grow like muscles (growth mindset). The latter is beneficial for students to have better results, particularly in STEM disciplines, and to not being influenced by stereotypes. Computer science is a subject that can be affected by fixed ideas (“geek gene”), and some (small) studies showed it can induce fixed ideas. Teachers’ mindset directly affects students’ one. By contrast, applying constructionists approaches seems to foster a growth mindset. In facts, we found a statistically significative, albeit little, increase of pre-service primary teacher’s growth mindset after a “creative computing and computational thinking” course [34].