STEM Learning and Computational Thinking
Computational Thinking (CT) is an essential skill for students, just as reading, writing, and arithmetic competencies are. CT is a way to think and act, via skills such as decomposition, abstraction, generalization, algorithmic design, debugging, and iteration. Block-based programming environments such as App Inventor and Scratch can help young learners to cultivate CT during programming activities by dragging and dropping blocks while focusing on the problem solving processes. Brennan and Resnick (2012) proposed a framework that conceptualized CT with three dimensions. Our research team focuses on improving K12 students' CT skills.