Computational thinking could be described as the thought processes involved in formulating problems and representing their solutions in such a way that these solutions can be executed by an information processing agent (either a human, a computer, or combinations of both). Therefore, this process involves learning to think about how to represent and solve problems that require a combination of human cognitive power and computing power. This skill is inherently developed by those who are engaged in computer programming.
In the subject of the degree in Computer Engineering "Programming Languages and Paradigms" are studied procedural, object-oriented and functional programming. The first activities carried out focus on imperative and structured programming, working on assignment statements, conditionals and control structures. Secondly, the concepts of abstraction and encapsulation of object-oriented programming are introduced, working with classes, objects and polymorphism. Finally, it is the turn to the paradigms of declarative and functional programming. These contents are taught in the third year of the degree, therefore, those who study it have already developed the skills of computational thinking.
Educational innovation has many faces and one of them is service-learning, a project-based methodology in which the acquisition of knowledge converges with a practical application in the form of community service, education in values and critical thinking. The objective of service learning is to reverse part of the educational process for the benefit of the community, therefore, we propose as an activity of the subject the organization of the Computational Thinking Olympiad for primary and secondary students.
The Computational Thinking Olympiad allows university students to teach the youngest the fundamentals of Computer Science, therefore, it is an act of solidarity. In addition, investigating the characteristics of pre-university classrooms and the causes of the lack of interest in Computer Science in boys and girls is a learning activity. Finally, committing to the organization and execution of the activities of the Computational Thinking Olympiad by applying and taking advantage of what has been studied in the subject of programming languages and paradigms is service-learning.
This paper describes how the Computational Thinking Olympiad is organized and developed in collaboration with the Computational Thinking Cultural Classroom and the Scientific Culture and Innovation Unit. The four editions of the activity have allowed its refinement and improvement.