Abstract
Computational thinking (CT), a framework for procedural thinking in programming, is a
necessary skill for everyone today. Therefore, CT and programming are critical for information
technology (IT) education. Educators has taught computer programming usually in higher education. As governments and educators recognized CT as essential skill for everyone, they introduced CT education even in elementary schools. Advanced countries have been trying hard to diffuse CT education. However, teaching CT concepts are still challenging for educators, and there are heavy roadblocks in the diffusion. How to teach CT to small pupils is a central theme for both these governments, including Japanese, and researchers in many countries. This article reviews past research about the extension of the CT concept, teaching approach, tools, experiments, and experiences to teach CT concepts in elementary schools. Among published teaching approaches, Design-Based Learning (DBL), an extension of Project-Based Learning, looks prospective. We surveyed past research, cases, and their findings that employed DBL as an approach to teaching CT concepts in elementary schools and discussed the effectiveness and implication into education studies. In conclusion, we discuss the relationship between machine learning and CT, other factors that affect the performance of teaching methods, and performance measuring systems.