Introducing Computational Thinking in K-12 Education: Historical, Epistemological, Pedagogical, Cognitive, and Affective Aspects

Michael Lodi
Introduction of scientific and cultural aspects of Computer Science (CS) (called "Computational Thinking" -CT) in K-12 education is fundamental. We focus on three crucial areas. • Historical, philosophical, and pedagogical aspects. What are the big ideas of CS we must teach? What are the historical and pedagogical contexts in which CT emerged, and why are relevant? What is the relationship between learning theories (e.g., constructivism) and teaching approaches (e.g., plugged and unplugged)? •
more » ... ognitive aspects. What is the sentiment of generalist teachers not trained to teach CS? What misconceptions do they hold about concepts like CT and "coding"? • Affective and motivational aspects. What is the impact of personal beliefs about intelligence (mindset) and about CS ability? What the role of teaching approaches? This research has been conducted both through historical and philosophical argumentation, and through quantitative and qualitative studies (both on nationwide samples and small significant ones), in particular through the lens of (often exaggerated) claims about transfer from CS to other skills. Four important claims are substantiated. CS should be introduced in K-12 as a tool to understand and act in our digital world, and to use the power of computation for meaningful learning. CT is the conceptual sediment of that learning. We designed a curriculum proposal in this direction. Expressions "computational thinking" (useful to distantiate from digital literacy) and "coding" can cause misconceptions among teachers, who focus mainly on transfer to general thinking skills. Both disciplinary and pedagogical teacher training is hence needed. Some plugged and unplugged teaching tools have intrinsic constructivist characteristics that can facilitate CS learning, as shown with proposed activities.
doi:10.6092/unibo/amsdottorato/9188 fatcat:4xmueapqejggnibwwas64ipypy