In our previous article (From Play to Purpose: Functional Learning in Computer Science with Scratch, Minecraft Education and Micro:bit), we discussed how primary education often introduces computer science through engaging tools and interactive learning environments, with an emphasis on imagination. This raised an important question: are students merely learning to use individual tools, or are they developing knowledge and skills they can transfer effectively to new situations?
This distinction lies at the heart of what we call functional learning. In computer science education, functional learning goes beyond simply understanding individual commands or completing predefined tasks. It focuses on applying knowledge to solve problems, adapting solutions to new circumstances, and understanding why a particular solution works.
It is important to emphasize that functional learning does not exclude knowledge of individual commands and the principles underlying how systems operate. On the contrary, a solid understanding of fundamental concepts enables students to solve problems more effectively and encourages their creativity. Equally important is the realization that modern digital devices operate through numerous smaller and relatively simple processes that can be understood, analysed, and controlled.
This approach was also the guiding principle behind the planning and implementation of a science activity day on robotics and mechatronics, which we organized for ninth-grade students. The students participated in two workshops: one involving micro:bit microcontrollers and the other using LEGO Education SPIKE sets. The aim of both workshops was not merely to build a functioning device, but above all to understand the processes behind its operation and apply the knowledge gained to new challenges.
Workshop with micro:bit Microcontrollers
The micro:bit is a small single-board computer that enables students to develop computational thinking, creativity, and practical skills in STEM (Science, Technology, Engineering, and Mathematics). It was developed specifically for educational purposes and is widely used in schools because of its simplicity, accessibility, wide range of built-in sensors, and ability to display and process data.
Programming has become an essential part of modern research, opening opportunities for creativity and innovation across numerous fields. Although it may initially seem challenging, carefully selected practical activities allow students to gradually become familiar with its fundamental concepts.
As a starting point, we selected examples from everyday life that students recognize from mobile phones, gaming consoles, and other digital devices. We broke individual challenges down into smaller, more manageable concepts, with students generally using just one sensor to solve each problem. This allowed them to discover how individual functions of modern devices are based on relatively simple operating principles.
The students tackled a variety of practical challenges. They created an alarm to protect a treasure box, using either a magnetic field sensor or an accelerometer. They also used the accelerometer to design a simple step counter. They programmed a device to estimate the distance of a lightning strike without requiring any additional sensors. Using the built-in microphone and the micro:bit’s output functions to control LED lights, they automated the switching on of lights by clapping.
Since gaming consoles are particularly popular among students, we used the micro:bit to create a motion-sensitive controller for a game developed in Scratch. By tilting the microcontroller, students could control elements of the game, and they also had the opportunity to try their hand at being digital DJs. In addition, they created a simple musical instrument using tin cans and a micro:bit, a device for recording successful basketball shots, and an analog sound level meter.
Through these challenges, we aimed to stimulate students’ curiosity and demonstrate that even highly complex technological systems are based on smaller, simpler, and therefore more understandable principles.
During the workshop, noticeable differences emerged between students who had previously participated in various forms of computer science education and those who had not. Although the activities were designed with a strong emphasis on developing computational thinking, some students demonstrated an insufficient understanding of basic programming concepts.

Workshop with LEGO Education SPIKE
In the second workshop, students explored the fundamentals of robotics and programming using LEGO Education SPIKE Prime and SPIKE Essential sets. Their task was to build and program a vehicle that they would then use to compete in a practical challenge.
The main activity of the workshop was a competition we called Bocce. The objective was to program a vehicle to move independently towards a LEGO minifigure and stop as close to it as possible. One important rule applied: if the vehicle knocked over the minifigure, the attempt was considered unsuccessful.
During the programming phase, we introduced students to two basic parameters that allowed them to control the vehicle’s movement: motor rotation speed and the number of rotations. By experimenting with and adjusting these parameters, students attempted to achieve the most accurate possible stop in front of the obstacle.
Although the task appeared relatively simple at first glance, it required students to understand the relationship between programming commands and the vehicle’s actual movement. By adjusting the speed and number of rotations, they could directly observe how individual settings affected the result. They were not provided with a ready-made solution but had to find suitable settings themselves.
Since the initial instructions were relatively straightforward, prior programming knowledge was not a decisive factor in successful participation. More significant differences emerged in students’ engagement, persistence, and willingness to search for better solutions. Some were satisfied with their initial results, while others repeatedly tested and adjusted their settings in an effort to improve the accuracy of their vehicles.
The activity enabled students to experience the importance of planning, testing, and debugging through a concrete example. At the same time, they discovered that even relatively simple programming commands can be used to solve practical problems where the success of a solution can be directly observed.
From Practical Experience to Functional Knowledge
Both workshops demonstrated, in different ways, how carefully designed practical activities can help students understand fundamental computer science concepts. While working with the micro:bit, students explored the operation of individual sensors and their applications in devices they encounter in everyday life. With LEGO SPIKE, they directly investigated the relationship between a program and a vehicle’s movement by modifying programming parameters.
The workshops also highlighted two important aspects of computer science education. In more demanding programming challenges, differences in students’ prior knowledge were noticeable. In simpler, more focused tasks, however, students’ engagement and willingness to explore became more apparent. These observations underline the importance of carefully planning activities that allow students with different levels of prior knowledge to participate actively while providing sufficient opportunities for independent exploration and improvement of their solutions.
In Slovenian primary education, there is still no compulsory subject that systematically and progressively develops fundamental computer science concepts for all students. Activities such as these therefore provide an important opportunity for students to gain practical programming experience and develop computational thinking.
This approach is also one of the key principles of the Digital First project. Its aim is not merely to introduce new digital tools into classrooms, but above all to develop the knowledge and skills that will enable students to understand technology, solve problems independently, and transfer their acquired knowledge to new and different situations.

