ISTE-5 Computational Thinker

Students develop and employ strategies for understanding and solving problems in ways that leverage the power of technological methods to develop and test solutions.

  • 5a. Students formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
  • 5b. Students collect data or identify relevant data sets, use digital tools to analyze them, and represent data in various ways to facilitate problem-solving and decision-making.
  • 5c. Students break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.
  • 5d. Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.

Computational thinking refers to a set of thinking
skills, processes, and approaches to solving complex problems by drawing on
concepts from computer science (Wing 2006). It involves skills as defining
problem, analyzing and representing data, using abstraction, conditional logic,
algorithmic thinking to solve problems. Computational thinking is a thinking
process which is like a computer scientist to solve problems can apply to every
area besides computer science. It is an essential skill for the generation who
are living with ubiquitous computing in the 21st century and also the
preparation for every younger student to adapt and handle the variable digital
world with developing a mindset of mathematics, abstraction, and algorithmic.
We know that CT can be grown in many areas as reading, writing, even cooking
but as known, programming is the best and efficient way with which students
will get challenges on problem-solving, debugging, program design, and
implementation. Programming is a tough journey needed understanding many
abstractive concepts and overwhelmed debugging for K-2’s students; Also a road
with bushes for teachers with many difficulties in teaching. So the
age-appropriate educational technologies involved and explicit learning
objective building are paving the path to the development of computational

As the educator for younger students, we need to
choose age-appropriate programming tools which can motivate active learning and
also can scaffold to build fundamentals concepts. Low floor, high ceiling as
the guiding principle for teachers to make a decision on this step. The
programming tool should be easy for the beginners to build confidence and
interests on a child-attractive interface to design program (low floor); also
be powerful and extensive enough to satisfy advanced learning needs (high

Chart 1

As Chart 1 shows, there are many kinds of programming tools fit the different range of ages. As educators, we need to choose age-appropriate programming tools to develop younger students’ computational thinking concepts. Following, I will introduce three typical tools and analyze their functions of the development of the mindset of CT.

Block-based programming app (ScatchJr)

The block-based programming app as ScatchJr can scaffold younger students to make project design through logical programming but doesn’t need to master the complex coding syntax which can motivate their enthusiasm and increase engagement. The block-based mode compensates for the limited of abstractive cognition for younger age and also can help to understand the abstraction of logical sequence step by step and build a connection between the codes and actions. ScatchJr can provide opportunities to lead a peer-collaborative “code to learn” activity. Students will not receive the knowledge of specific programming language passively but design a cross-subject project using programming tool actively in which process they will develop CT concepts from different aspects. (Chart 2)

Puzzle-based programming app (Playground)

Always the puzzle-based programming app can attract
younger students easily because of a game-based interface. It is not like
ScatchJr can lead a peer-collaborative PBL through programming, but it is an
excellent tool for afterschool autonomous learning. From the Playground app,
students need to solve a special problem (get the gem) by different levels. In the
Playground, students can create functions for the repeat complex actions which
involves algorithmic thinking and abstraction mindset. They also need to debug
and test the solution iteratively before the next level. The higher level is,
the more algorithmic functions need to be involved, the more complex CT will be

Tangible Robot (Dash and Dot)

The milestone of teaching programming for young students is to build their abstractive cognition. The manipulative programming robot can melt the digital world with the reality that enable students to see actual movement consequence in the physical world. Dash and dot is the robot controlled by five apps from simple concepts to complex concepts which adopt the principle of a low floor and high ceiling. The Blocky app can scaffold students to debug variable data and test their programming through the movement of the robot. They need to analyze the data and represent data from the robot to achieve the final solution. In the Wonder app, students can make a design presented from the robot to create an innovative project. The programming robot reveals complex computational concepts into reality (Chart 2) and builds a bridge to guild students enter into the digital world with wonder and interests.

Chart 2

In the thriving digital world, emerging programming
tools are being designed. The three tools above point to the majority of
educational technologies for programming in education. Teachers need to analyze
the students’ diversity of traits and choose the appropriate ones to cultivate
CT for younger students. The appropriate programming tool can change students’
role from consuming media to producing through which they can positively grow
intelligence and build CT when they deal with the logical sequence of commands;
debug errors and test solutions iteratively; solve problems with algorithmic
thinking. In the learning process, teachers need to set CT as the learning
objective focusing on the growth of younger students’ CT mindset rather than
learning a specific syntax and well-design problem-based, thematic tasks to
support the fundamental concept development. For the younger students, the CT
mindset is much more important than mastering a specific computing language
without any meaning.


  1. Estapa, A. aestapa@iastate. ed., Hutchison, A., & Nadolny, L. (2017). recommendations to support computational thinking in the elementary classroom. Technology & Engineering Teacher, 77(4), 25–29. Retrieved from
  2. Buitrago Flórez, F., Casallas, R., Hernández, M., Reyes, A., Restrepo, S., & Danies, G. (2017). Changing a Generation’s Way of Thinking: Teaching Computational Thinking through Programming. Review of Educational Research, 87(4), 834–860. Retrieved from
  3. Ching, Y.-H., Hsu, Y.-C., & Baldwin, S. (2018). Developing Computational Thinking with Educational Technologies for Young Learners. TechTrends: Linking Research and Practice to Improve Learning, 62(6), 563–573. Retrieved from
  4. Barr, D., Harrison, J., & Conery, L. (2011). Computational thinking: A digital age skill for everyone. Learning & Leading with Technology, 38(6), 20-23.
  5. Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43.

Comments are closed.