DIGITAL LIBRARY
DEVELOPMENT OF COMPUTATIONAL THINKING: GOALS AND STRATEGIES
UFRGS - Universidade Federal do Rio Grande do Sul (BRAZIL)
About this paper:
Appears in: EDULEARN22 Proceedings
Publication year: 2022
Pages: 5771-5777
ISBN: 978-84-09-42484-9
ISSN: 2340-1117
doi: 10.21125/edulearn.2022.1355
Conference name: 14th International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2022
Location: Palma, Spain
Abstract:
The 21st-century citizen must be technologically fluent, which involves the ability to express, explore and realize ideas using technology in order to enhance learning in other domains and prepare for the decision-making process. Today's world requires much more than reading, writing, addition, and subtraction for people to live and act fully and successfully. One of the most important skills needed by the 21st-century citizen is computational thinking, which implies knowing how to use the computer as an instrument to increase human cognitive and operational power, in other words, use computers and computer networks to increase productivity, inventiveness, and creativity. It is not only intended to train future computer experts but to prepare everyone to solve problems and make properly grounded decisions using a systematic approach.

Computational thinking involves systematized mental activity in interpreting a problem to seek an organized solution. The idea is to analyze problems that appear to be difficult to solve and transform them into something capable of being understood and solved. To help this process, there is the support of computational thinking, which is based on four pillars: decomposition (dividing a complex problem into small parts), pattern recognition (identifying common aspects), abstraction (identifying elements that have relevance), and algorithms (defining steps for the solution of the problem). Developing computational thinking through programming is considered an appropriate way to promote essential skills for the 21st-century citizen.

Teaching programming languages ​​will allow students to approach problem-solving in a more organized, efficient, and productive way, making them able to understand and use algorithms, systems, and technologies to improve decision-making by all segments of society. But teaching and learning to program are not easy tasks: they can be very challenging. Introductory programming courses traditionally have high failure and dropout rates. It is possible to perceive the inherent difficulty in the abstraction and construction of the students' logical reasoning, especially with regard to the way of understanding algorithmic schemes. In order to produce better results in programming disciplines, there is a need to modify the pedagogical strategy used in order to allow this process to become more attractive and effective. One of the approaches involves the use of technologies and tools such as digital games, intelligent tutors, visual programming languages, integrated development environments, etc. Its use combined with active methodologies and collaborative learning allows promoting a more stimulating and engaging interaction.

Aiming to disseminate solutions, the objective of this article involves the analysis of programming teaching strategies for beginners that can be incorporated into education at different levels. It also involves identifying computer programming patterns in the context in which beginning students learn a programming language, seeking to examine the relationships between students' coding patterns, self-regulated learning, and computational thinking skills.
Keywords:
Computational thinking, Teaching programming, 21st-century citizen.