Edison Robot V2 (
Figure 1b)
[25] is another learning platform, but of low cost (about EUR 60), which also has special notches for placing Lego bricks. It is flexible and its size is the size of a palm (7.5 × 4 × 8.5 cm). With its sensors, it can follow a light source or a black line, move when students clap, detect obstacles, and can be programmed to be remotely controlled
[26]. Depending on the age, it can be programmed with EdBlocks, EdScratch, and EdPy, which are based on familiar programming languages but are designed to work with Edison. With Edison, each student can have a robot in the classroom.
In terms of fully assembled mobile robots, the EPFL Thymio (
Figure 1d)
[27] is a commercially assembled robot. Thymio’s platform is reprogrammable, rich in sensors and actuators, rechargeable, and appreciated by many students as it promotes creativity and fun learning, and it is cheap and durable
[28]. Thymio has five basic components, these are the following: cables, wheels, a proximity sensor, a battery, and a button unit
[29]. It has a thermometer and a three-axis accelerometer. It is open-source at the software level but also at the hardware level.
On 5 June 2014, Softbank Mobile, a Japanese company, in collaboration with Aldebaran Robotics, a French company, unveiled Pepper (
Figure 2a)
[30][31], the first personal humanoid robot in the world capable of helping people by reading and responding to human emotions. Pepper was scheduled to sell for less than USD 2000 in the US in February 2015
[32]. Of course, Peppers robots are only sold with the required network data and equipment security for 36 months. This costs USD 360 per month, which brings the total cost of ownership to over USD 14,000. It generally ranges from USD 14,000 to USD 14,600
[31]. The price also is approximately EUR 13,600. It has a height of 1.2 m and weighs 28 kg. It can be programmed to speak 15 languages, including Greek. Finally, it is equipped with a fully functional tablet and is an open and fully programmable platform.
Figure 2. (a) Pepper robot; (b) NAO robot; (c) Beebot robot; (d) mBot robot.
Another humanoid assembled robot is the SoftBankRobotics NAO robot (
Figure 2b). The NAO robot is 58 cm in size, weighs no more than 5 kg, speaks, hears, sees, relates to the environment as programmed, and interacts naturally. It is able to perceive its environment through many sensors. It consists of two cameras, four microphones, nine touch sensors, two ultrasonic sensors, eight pressure sensors, an accelerometer, a gyroscope, a voice synthesizer, and two speakers. The robot is programmed by a block-based graphical software, Choregraphe, which communicates with NAO. This software is a graphical blockchain programming interface that provides specific tasks for NAO
[33].
A cheap robot is the Beebot (
Figure 2c) which costs EUR 100
[34] and is suitable for kindergarten and elementary school students. It has a bee shape and at the top, it has buttons for its programming. It is small and can be moved forward, backward, right, and left. It does not use any special software to program. Due to its appearance, it attracts young students. According to
[35], it is effective in developing working memory, spatial awareness, and problem-solving ability in young students. Beebot creates a play environment suitable for children from 3 to 5 years old and is an ideal tool for teaching programming for these ages
[36]. Of course, it can be used equally satisfactorily for the acquisition of mathematical and geometrical concepts
[37][38].
Another robot is the mBot
[39], which is an Arduino-based robot. MBot (
Figure 2d) is a small mobile robot, which is cheap and has many possible expansion options. It costs EUR 100 and can be programmed using a block-based programming environment. It is created by the Chinese company, Makeblock, and based on the Scratch language that contains blocks. It is equipped with two motors for the wheels, an ultrasonic sensor, and a line sensor, and is aimed at primary and secondary school students. Students must build the robot for the first time, which can be used as part of the original workshops
[40]. One of its main advantages is that it allows the user to program in a block language.
Another small intelligent robot for children is the Ozobot (
Figure 3a)
[41]. It contributes to the learning of STEAM education and can read colored lines drawn on paper. It has the shape of a sphere, about two and a half centimeters in diameter, its movement is based on very small wheels, and, at its base, color sensors are located. Color sensors allow it to read the color codes designed. In this way, he can perfectly follow a color line and interpret the intersections of lines. It costs about EUR 100. With Ozobot, you can design a variety of games such as racetracks, puzzles, mazes, etc. These games aim to cultivate and develop in students important skills such as creativity, autonomy, logic, and programming. Not only can Ozobot be programmed using color bars; it can also be programmed on a tablet through a block-based application called OzoBlocky, which is similar to Scratch. Thus, students will be able to carry out more complex programming as they progress in their learning (
Figure 3b)
[8].
Figure 3. (
a) Ozobot; (
b) programming Ozobot (
left) (Source: adapted from
[42]) and storytelling with Ozobot (
right) (Source: adapted from
[43]); (
c) Cellulo.
Cellulo (
Figure 3c) is a new robotics platform that explores the intersection of three ideas for robotics in education. These ideas are designing robots to be flexible, blending robots into the classroom by designing them to be pervasive objects and creating close interactions with paper, and finally understanding the practical limitations of real classrooms at each stage of design. The platform emerged from these considerations and is based on a unique combination of technologies. The robot connects wirelessly to a tablet (or smartphone) via Bluetooth and activity is coordinated with the QtQuick app. It also comes with optional additional dynamic content and activity sheets printed on plain paper. It is an affordable robot since it costs around EUR 125 and is suitable for use in the classroom. The role of the robot and paper depends on the goal of each activity, which makes the robot flexible
[44]. Various concepts that can be approached are atmospheric pressure, force, Cartesian plane, planetary motion, molecules, and atoms.
Another robot based on the Arduino platform designed from 3D printable materials is the Otto DIY + robot (
Figure 4a)
[45]. Its price is around EUR 45 and increases depending on the possibilities it provides. It is fully programmable with Blockly or Arduino. It is easy to build, scalable, and modular. It is suitable for beginners in the world of robotics and STEM. The Otto robot can walk, dance, make sounds, gesture, and avoid obstacles. It can be used to teach programming to students while completing other educational activities. Moreover, the programmed Otto robot can be easily stored and transported anywhere; each student could have their own robot and use it at home
[46].
Figure 4. (a) Otto DIY+ Arduino Robot; (b) Otto robot programming software; (c) The FOSSbot.
Otto comes with a variety of applications and games (
Figure 4b)
[47][48]. Through his games, the children prepare for programming and learn to code while having fun. This way, programming becomes exciting and easy for everyone. The main game that accompanies the robot has Otto as its hero. It is an interactive, free, educational game, and suitable for anyone who wants to start programming with Blockly, Python, and JavaScript, as it is based on both block and text programming. A student can connect from any computer or tablet, as long as they have an Internet connection. The aim of the game is for students to program the robot so that it can face the challenges and adventures that take place around it.
Activities and games with the Otto robot promote computational thinking; that is, they support problem-solving and Mathematics, and develop critical thinking and basic concepts from computer science. They are based on scenarios, which motivate children, as they make the learning process fun and playful. Its integration into the curricula supports and guides the learning process. Finally, it enables teachers to monitor students’ progress at each level as they progress through the game
[49].
Another printable robot is FOSSbot
[50] (Free Open Source Software Bot—
Figure 4c)
[51], an educational robot that is suitable for kindergarten and primary school, although the creation of educational scenarios for all levels of education has begun. FOSSbot was built by the open technologies organization EELLAK in collaboration with Harokopio University and is a printable open-source robot, both in its construction and its software. Open source codes can be adapted and support even more teaching scenarios. Its codes and files are uploaded to the internet completely free of charge, so the cost is only for the supply of materials that will be used for its printing. It has a variety of sensors such as distance, line, accelerometer, gyroscope, IR, light sensor, a sensor for odometry, and battery sensor. It can also talk; it has a case on the front where a marker or pencil can be placed, and its surface is compatible with Lego bricks. Thus, it can be used in various ways in the classroom, as the various sensors and actuators can give to teachers the ability to create numerous lessons and activities that cover a wide range of scientific disciplines. The total cost for printing and supplying all materials is under EUR 200
[52]. This price, although considered high for the average family, is low based on the possibilities it offers.
5. Programming Languages
In the description of the above robots, the related programming languages were mentioned. Some of these languages are presented in more detail below. First, there are traditional scripting languages and visual programming languages. The first category includes Python
[52][53][54], C, C++, Java, JavaScript
[55], etc., and is the basis for the creation of the second, i.e., visual programming languages.
In primary school age or education in general, it would be easier to use a visual programming language. The term “visual programming language” means a programming language that is based on visual expressions and is suitable for beginners
[56]. These expressions are either icons and blocks (puzzles), or diagrams and forms, which act as commands and conditions for the user to program the robot object he desires. These expressions are asked by the user to drag them and put them in the appropriate order to write the code that will command the robot to act. Some visual programming languages used in education are AgentSheets, App Inventor (for Android), Blocky, Bubble, Scratch, etc.
One of the most popular languages is Scratch. This is evidenced by the fact that it has been used in a variety of studies
[57][58][59][60][61][62][63][64][65][66][67]. Scratch’s goal is for students to learn programming concepts by playing and creating videos and music. In other words, it enables teachers to use it as a means of teaching in their classrooms. Scratch is free and available online. Its shape makes it quite attractive to students of both primary and secondary education. Moreover, one of its advantages is that it is dynamic, as users can edit and modify its code while it is running. Behind the visual expressions, the executable code runs in the Squeak (Scratch 0. x, Scratch 1. x) or ActionScript (Scratch 2.0) written programming languages. According to the research in
[68], 50% of the published work they found on STEAM education uses Scratch. Scratch can be an important lead in introducing advanced students to the Python programming language
[69].
Google Blockly
[52][70], is a language similar to Scratch and supports the logic of drag and drop, i.e., “drag and drop” (
Figure 5). Its programming is based on traditional JavaScript, Python, PHP, Lua, or Dart languages and is available for free. Its commands are in the form of block puzzles, which are connected to create the respective scenario
[71].
Figure 5. Instruction in the Blockly Programming Language.
Finally, Snap
[72] is also a form of block programming language (
Figure 7). One of the advantages of Snap is that it allows students to program for free directly on a website, without the need to install any software. It has all the basic functions of Scratch with the advantage that it gives the user the ability to create new block commands and share them in the Snap community. It is very simple to use. Instructions for its use are available on the website
[73]. In general, it is observed that visual programming languages can increase students’ interest in mathematical concepts and robotics, advance their computational thinking and prepare them for more advanced programming languages and robotics designs
[74].
Figure 7. Online Snap Programming Language.