How to Learn and How to Teach Computational Thinking: Suggestions Based On a Review of the Literature


“Computational Thinking (CT) is seen as an important competence that is required in order to adapt to the future. However, educators, especially K-12 teachers and researchers, have not clearly identified how to teach it. In this study, a meta-review of the studies published in academic journals from 2006 to 2017 was conducted to analyze application courses, adopted learning strategies, participants, teaching tools, programming languages, and course categories of CT education. From the review results, it was found that the promotion of CT in education has made great progress in the last decade. In addition to the increasing number of CT studies in different countries, the subjects, research issues, and teaching tools have also become more diverse in recent years. It was also found that CT has mainly been applied to the activities of program design and computer science, while some studies are related to other subjects. Meanwhile, most of the studies adopted Project-Based Learning, Problem-Based Learning, Cooperative Learning, and Game-based Learning in the CT activities. In other words, such activities as aesthetic experience, design-based learning, and storytelling have been relatively less frequently adopted. Most of the studies focused on programming skills training and mathematical computing, while some adopted a cross-domain teaching mode to enable students to manage and analyze materials of various domains by computing. In addition, since the cognitive ability of students of different ages varies, the CT ability cultivation methods and content criteria should vary accordingly. Moreover, most studies reported the learners' CT performance and perspectives, while their information society ability was seldom trained. Accordingly, the research trends and potential research issues of CT are proposed as a reference for researchers, instructors, and policy makers.”

Author Keywords

Applications in subject areas, pedagogical issues, programming and programming languages, and teaching/learning strategies

My One Sentence Summary

A content analysis of 120 publications written between 2006 and 2017 reveals that CT means many things and that people are implementing it through a variety of means.

Some Of My Lingering Questions/Thoughts

  • Having spoken with a lot of people who don't know the difference between CS and CT, I think CS educators could do a better job explaining that CT is a process for thinking through problems and that CS is an entire field of study or academic discipline.

  • Who is initiating the application of CT into a subject area and why?

    • When do/n't they continue to use CT after the conclusion of a study?

  • In what ways might CS benefit from thinking processes from other disciplines?

    • As an analogy -> CT : other subject areas :: ?? : CS