The European priority in education can be summed up in a four-letter acronym: STEM. And that’s understandable. A country’s proficiency in science, technology, engineering and mathematics is vital in generating economic growth, advancing scientific innovation and creating good jobs…What recent studies have made increasingly apparent is that the greatest number of high-paying STEM jobs are in the “T” (specifically, computing).

Computational Thinking is understood as shorthand for “thinking like a computer scientist”, i.e. using concepts of computer science to formulate and solve problems. In the past decade Computational Thinking has increasingly gained attention in the educational field for its potential to teach logical thinking, problem-solving and digital competence.

Young people need to understand our networked world and at the same time benefit from being able to use abstraction and decomposition when tackling complex tasks.

Computational thinking can help students with both these aspects.

Computational thinking skills can be taught jointly with other competences such as communication, social competences and the ability to work in teams. Coding can make deeper computer science concepts concrete and can be combined with elements such as creativity, team work and problem solving. In this sense it can be a useful tool for the teaching of CT.


School-leaders and “frontrunner” teachers can provide leadership, encouragement and guidance in technology-rich learning environments.

Education and training leaders should understand the potential and role of computational thinking and coding so that teaching staff are supported and encouraged to integrate these concepts in their teaching.

Leadership at schools is crucial when including CT in compulsory education.

Good learning materials and tools and guides for delivery of CT are crucial. Naturally the teaching of CT must be adapted for young children; e.g. children learn through games and tasks that can be digital (e.g. visual programming), but could also be paper-based or physical (“unplugged” teaching).

Developing a comprehensive and forward-looking curriculum to engage students across compulsory education is a challenge, in particular as technologies continue to hange. Core questions include when and how to start coding/programming in the early years, and at what stage to switch from visual to more textual programming.

To keep children engaged, careful planning and choices of pedagogical approaches and quality learning materials that help enhancing students’ understanding of core concepts related to CT sequentially over several school years are necessary; an  approach that will need to go much beyond offering a few hours of coding.

Objective of the course

The objective of the course is to introduce Scratch as a tool for developing computational thinking. In fact, the course aims to show how programming with such a language allows, for example, to develop problem-solving strategies, learn how to correct errors, collaborate, proceed with subsequent attempts and refinements.


Lesson 1. Introduction to CODING. Computational Thought. Examples of “daily” coding.

Iconic Programming. The Scratch Software. Scratch commands. Sprites and Backgrounds. Program the sprites to draw regular polygons.

  •  Lesson 2. The concept of VARIABILE. Use variables in Scratch. User INPUTs. The controls (IF-THEN-ELSE). The lesser of two numbers? Mathematical operations. Draw a polygon to N sides.
  • Lesson 3. The lesser of three numbers. Draw a smooth polygon to N sides. Complex programming. Sorting Algorithm. The use of Scratch LIST. Sort a list of 5 numbers entered by the user. Sort any number list. Interaction between different sprites.
  • Lesson 4. Create interactive games. Machine on circuit. Target shooting with score and timer. Use the editor to draw sprites. Multi-conditions IF. Generate sounds from audio recordings
    Design algorithms represented diagrammatically and in English, and trace algorithms to predict output for a given input and to identify errors

Lesson 5 Introduction to educational robotics with Mbot Define and decompose real-world   problems taking into account functional requirements and economic, environmental, social, technical and usability constraints

  • Implement and modify programs with user interfaces involving branching, iteration and functions in a general-purpose programming language

If you need more details contact us by email:

Translate »
Scroll to Top