PRE2024 1 Group1:: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
(Hour log + giving some structure to the wiki)
Line 21: Line 21:
|EE
|EE
|}
|}
== '''Our research''' ==
A lot of research and products are already available for teaching robotics. There are both a lot of programming languages and robot types for many different age groups. We noticed however that there are no robots for preschoolers that can be programmed using text based programming languages. All programmable robots we have found are programmed using block based code, such as the Robitic Lego, or not programmable by code at al, such as the sequential robots.<ref name=":0">Kaplancali, U. T. (2017). Teaching Coding to Children: A Methodology for Kids 5+. ''International Journal of Elementary Education'', ''6''(4), 32. <nowiki>https://doi.org/10.11648/j.ijeedu.20170604.11</nowiki></ref>


=== '''Problem statement''' ===
=== '''Problem statement''' ===
Line 48: Line 51:
The educational system is the main stakeholder that decides if the product is suited for the current educational program.  Again, the project should be easily integrated into the exiting educational format. Also for this stakeholder, the product has to be properly tested on classes in an ethically correct environment.
The educational system is the main stakeholder that decides if the product is suited for the current educational program.  Again, the project should be easily integrated into the exiting educational format. Also for this stakeholder, the product has to be properly tested on classes in an ethically correct environment.


== '''Overview of existing resources for early childhood robotics education''' ==
=== Research Question ===
''How does a physical debugging-first approach to coding robots compare to a bottom-up coding approach in terms of students' problem-solving skills and code comprehension?''


=== Programming languages for kids ===
=== Hypothesis ===
There are all different types of programming languages catered to children. In these programming languages we can make the distention between text based programming languages and block based programming languages.  
Debugging is a vital part of coding. The traditional approach to learning to code is to learn the syntax and basic programming first and how to debug later. However, by focusing on debugging earlier or even in the beginning of the learning process, coding novices can get a deeper understanding of the coding process and language they are writing in. Furthermore, they can build their coding and problem solving skills more effectively according to Lowe, 2019<ref>https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9028699</ref>. On top of that, the robot is a form of visual debugging, which can help promote experimentation and improve debugging in general (Grimm, 2002)<ref>https://onlinelibrary.wiley.com/doi/pdfdirect/10.1111/j.1939-7445.2002.tb00078.x</ref>. The test group that has to debug can practice longer with the visual debugging then the bottom-up group, so all benefits for visual debugging might apply more to them. Since both test groups will have to debug if they make a mistake in the final assignments, it is expected that the group that immediately starts debugging will have an edge both in problem solving skills and in code comprehension.  


===== Block based programming languages =====
=== Test Plan ===
A block based programming language is a of visual programming by using blocks. These coding blocks can be dragged and dropped after each other to create a program. The absence of written code eliminates any syntax errors from arising. The visual aspect of this teaching method makes it especially suitable for young children. Scratch<ref>https://scratch.mit.edu/</ref> and Blockly<ref><nowiki>https://blockly.games/</nowiki> </ref> are some of the most populair programming languages of this type, but there are also other such as Tynker<ref><nowiki>https://www.tynker.com/</nowiki> </ref> a website that contains games, blockbased programming and text based programming languages all in the same interface, trying to engage children by presenting it as a game.  
In this study, students will be divided into two groups, each using a different method to learn how to program robots.
 
===== Text based programming languages =====
There are also a lot of text based programming languages for children. There are both text based languages specially made for children as well as normal programming languages with tutorials for children. With the latter, the main issue for educating children is the language barrier. Since nearly all programming languages are in English, there is a language barrier for children who do not master English to a sufficient level. In the Netherlands only in 1.6% of the households English is the primarily spoken language<ref>Schmeets, H., Cornips, L. (2021), Talen en dialecten in Nederland.''Centraal Bureau voor de Statestiek.'' <nowiki>https://www.cbs.nl/nl-nl/longread/statistische-trends/2021/talen-en-dialecten-in-nederland</nowiki> </ref>, therefor this is not a viable option for most preschool children. However, the programming languages for children such as Hedy<ref><nowiki>https://www.hedycode.com/</nowiki> </ref> are often translated in many different languages. This in combination with lessons catered specifically aimed at children, leads to a higher popularity amongst the texted based programming languages for children.  
 
=== Robots for children ===
 
===== Sequential robots =====
A type of robots made for children from ages 5-8 years are sequential robot. These robots do not need any code from the children, but make use of buttons. Once these buttons are pressed in a specific order, the robot will move according to the defined sequence. Some examples of these types of robot are BEE-bot<ref><nowiki>https://b-bot.nl/educatieve-robots/bee-bot</nowiki> </ref> and Code & Go Programmable Robot Mouse<ref><nowiki>https://www.learningresources.co.uk/stem-code-gotm-robot-mouse</nowiki> </ref>


===== '''Arduino based robots''' =====
'''<u>Group 1: Physical Debugging-First Approach</u>'''
There are multiple robots such as mBot<ref>https://www.makeblock.com/pages/mbot-robot-kit</ref>  which are Arduino based. These are easy to assemble and are often programmed using block based languages like Scratch. The usage of Arduino chips, allows the robots to be relatively cheap. These Arduino’s make them also more fragile for young kids than other alternatives on the market.


===== Robotic LEGO =====
The toycompany LEGO has developed 2 different lines of robotic LEGO, LEGO Spike<ref><nowiki>https://spike.legoeducation.com/</nowiki> </ref> and the Lego Mindstorms<ref>[[Lego Mindstorms|https://en.wikipedia.org/wiki/Lego_Mindstorms]] </ref>. The first one is created for educational use with builds for all different age groups, whereas the second is mainly for personal use. Both series allow you to build your robot and program it using block based programming. LEGO differentiates itself from other robots due to being easily build and reusable multiple times. These products allow the children to learn more about both the coding of the robots, as well as the building.
== '''Our research''' ==
A lot of research and products are already available for teaching robotics. There are both a lot of programming languages and robot types for many different age groups. We noticed however that there are no robots for preschoolers that can be programmed using text based programming languages. All programmable robots we have found are programmed using block based code, such as the Robitic Lego, or not programmable by code at al, such as the sequential robots.<ref name=":0">Kaplancali, U. T. (2017). Teaching Coding to Children: A Methodology for Kids 5+. ''International Journal of Elementary Education'', ''6''(4), 32. <nowiki>https://doi.org/10.11648/j.ijeedu.20170604.11</nowiki></ref>
== Research Question ==
'''How does a physical debugging-first approach to coding robots compare to a bottom-up coding approach in terms of students' problem-solving skills and code comprehension?'''
== Test Plan ==
In this study, students will be divided into two groups, each using a different method to learn how to program robots.
=== Group 1: Physical Debugging-First Approach ===
Students in this group will start with incomplete or faulty code. They will:
Students in this group will start with incomplete or faulty code. They will:
* '''Run the robot''' and observe its behavior to identify what is going wrong.
* '''Run the robot''' and observe its behavior to identify what is going wrong.
Line 88: Line 69:
This approach emphasizes connecting the robot’s real-world behavior with code changes, helping students develop problem-solving skills by learning how their code affects the robot directly.
This approach emphasizes connecting the robot’s real-world behavior with code changes, helping students develop problem-solving skills by learning how their code affects the robot directly.


=== Group 2: Bottom-Up Coding Approach ===
'''<u>Group 2: Bottom-Up Coding Approach</u>'''
 
This group will begin by writing code from scratch. Students will:
This group will begin by writing code from scratch. Students will:
* Start with '''simple robot tasks''' (e.g., making the robot move in a straight line).
* Start with '''simple robot tasks''' (e.g., making the robot move in a straight line).
Line 96: Line 78:
This method focuses on systematically developing coding skills by starting from basic robot control and gradually adding more complexity to their programs.
This method focuses on systematically developing coding skills by starting from basic robot control and gradually adding more complexity to their programs.


== Comparative Test Process ==
'''<u>Comparative Test Process</u>'''


To compare the effectiveness of these approaches, students will go through several iterations of practice tasks followed by a standardized exam task.
To compare the effectiveness of these approaches, students will go through several iterations of practice tasks followed by a standardized exam task.
Line 105: Line 87:
This process will be repeated in several cycles: three practice tasks followed by one exam task. By doing this multiple times, we will collect enough data to compare how both groups perform.
This process will be repeated in several cycles: three practice tasks followed by one exam task. By doing this multiple times, we will collect enough data to compare how both groups perform.


== Metrics for Comparison ==
==== Metrics for Comparison ====
 
To evaluate the two approaches, we will focus on the following key metrics:
To evaluate the two approaches, we will focus on the following key metrics:
* '''Number of attempts per exam task''': How many tries does each group need to successfully complete the exam task?
* '''Number of attempts per exam task''': How many tries does each group need to successfully complete the exam task?
Line 113: Line 94:
* '''Learning progression''': How do both groups improve over time? Are they able to solve exam tasks faster and with fewer attempts as they progress?
* '''Learning progression''': How do both groups improve over time? Are they able to solve exam tasks faster and with fewer attempts as they progress?


== Goal of the Study ==
==== Getting a place to test ====
We sent the following email to elementary schools in Eindhoven, of which we already got multiple enthusiastic replies:
 
'''''Onderwerp:''' Samenwerking voor Techniekworkshop op uw Basisschool''
 
''Geachte [Naam van school],''
 
''Wij zijn vier enthousiaste studenten van de Technische Universiteit Eindhoven en wij willen graag uw basisschool benaderen met een uniek en educatief aanbod. Ons doel is om kinderen te enthousiasmeren voor techniek door middel van een interactieve en leuke workshop.''
 
''Wij stellen voor om een middag op uw school te komen en de leerlingen in groepjes te leren programmeren met behulp van een kleine robot. Deze activiteit is ontworpen om de creativiteit en probleemoplossende vaardigheden van de kinderen te stimuleren, terwijl ze op een speelse manier kennismaken met de basisprincipes van programmeren en technologie. De kinderen hebben geen voorkennis nodig over programmeren. We richten ons op kinderen tussen de 9 en 12 jaar.''
 
''Wij zorgen voor alle benodigde materialen en begeleiding, zodat de leerkrachten zich geen zorgen hoeven te maken over de organisatie. Het enige wat wij vragen is eenmalig een middag van uw tijd en de enthousiaste deelname van de leerlingen. Zou dit mogelijk zijn in week 41 of 42?''
 
''Wij geloven dat deze workshop een waardevolle aanvulling kan zijn op het huidige curriculum en een inspirerende ervaring voor de kinderen zal bieden. Wij hopen dan ook dat u openstaat voor deze samenwerking.''
 
''Graag horen wij van u of u geïnteresseerd bent in dit initiatief en of we een afspraak kunnen maken om de details verder te bespreken.''
 
''Met vriendelijke groet,''
 
==== Project Planning ====
During the first week the focus has been preliminary research into robotics education on preschools.  
 
In the second week we delved deeper into similar existing resources for early childhood robotics education and formulated our research question, defined the requirements for the design of our teaching package, and created a schedule for our research and finalized the ERB and consent forms.  
 
In the third week of our research we are going to decide on our test group, program several predefined functions and start on the frontend the preschool students are going to use. Aside from that we are also going to send out surveils to students of the PABO in Tilburg, such that we can incorporate any feedback they have.
 
In the fourth week the implementation of the link between the GUI and the robot shall be established.
 
In the 6<sup>th</sup> week of our research we will finalize the teaching environment and finish the questionnaires for the participants of the study and their caregiverst/parents.
 
In the beginning of the 7<sup>th</sup> week we will carry out our lessons for our target group and proccess all the data.


The comparison will help us determine which method—'''physical debugging-first''' or '''bottom-up coding'''—leads to better outcomes in terms of problem-solving, code comprehension, and robot control. By tracking how both groups perform on exam tasks, we will see which approach develops stronger programming and debugging skills in students learning to control robots.
In the last week of our research we will present our findings.  


== Hypothesis ==
== '''Final Product''' ==
Debugging is a vital part of coding. The traditional approach to learning to code is to learn the syntax and basic programming first and how to debug later. However, by focusing on debugging earlier or even in the beginning of the learning process, coding novices can get a deeper understanding of the coding process and language they are writing in. Furthermore, they can build their coding and problem solving skills more effectively according to Lowe, 2019<ref>https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9028699</ref>. On top of that, the robot is a form of visual debugging, which can help promote experimentation and improve debugging in general (Grimm, 2002)<ref>https://onlinelibrary.wiley.com/doi/pdfdirect/10.1111/j.1939-7445.2002.tb00078.x</ref>. The test group that has to debug can practice longer with the visual debugging then the bottom-up group, so all benefits for visual debugging might apply more to them. Since both test groups will have to debug if they make a mistake in the final assignments, it is expected that the group that immediately starts debugging will have an edge both in problem solving skills and in code comprehension.
Our final product will consist of a teaching package designed as an introductory course consisting of 2 to 3 lessons that integrate an online coding environment, a physical robot, and a comprehensive teacher manual. The curriculum will use a simplified text-based programming language, rather than a block-based one, to offer a more authentic coding experience. To make the learning process approachable for beginners, the language will include predefined functions that will gradually become less predefined in each lesson, encouraging students to take on more coding responsibilities. Each lesson will focus on key skills such as debugging, completing existing code, and writing code independently.
=== Final Product ===
Our final product will consist of a teaching package designed as an introductory course consisting of 2 to 3 lessons that integrate an online coding environment, a physical robot, and a comprehensive teacher manual. The curriculum will use a simplified text-based programming language, rather than a block-based one, to offer a more authentic coding experience. To make the learning process approachable for beginners, the language will include predefined functions that will gradually become less predefined in each lesson, encouraging students to take on more coding responsibilities. Each lesson will focus on key skills such as debugging, completing existing code, and writing code independently.  


The inclusion of a physical robot is a deliberate choice, as it provides a tangible way to visualize the code's impact, making abstract concepts more accessible. This hands-on approach also serves as an effective method for students to learn debugging by observing the robot’s actions and correcting their code accordingly. Additionally, we will develop a coding manual tailored to the needs of teachers, particularly those who may not be familiar with coding. The manual will include clear, step-by-step instructions and explanations to ensure that teachers can confidently guide their students through the lessons.  
The inclusion of a physical robot is a deliberate choice, as it provides a tangible way to visualize the code's impact, making abstract concepts more accessible. This hands-on approach also serves as an effective method for students to learn debugging by observing the robot’s actions and correcting their code accordingly. Additionally, we will develop a coding manual tailored to the needs of teachers, particularly those who may not be familiar with coding. The manual will include clear, step-by-step instructions and explanations to ensure that teachers can confidently guide their students through the lessons.  


===== '''Design''' =====
=== Goal of the Study ===
The comparison will help us determine which method—'''physical debugging-first''' or '''bottom-up coding'''—leads to better outcomes in terms of problem-solving, code comprehension, and robot control. By tracking how both groups perform on exam tasks, we will see which approach develops stronger programming and debugging skills in students learning to control robots.
 
=== '''Design''' ===
The curriculum is designed according to the following MoSCoW criteria:  
The curriculum is designed according to the following MoSCoW criteria:  


Line 131: Line 143:
* A physical robot to keep kid’s attention  
* A physical robot to keep kid’s attention  


* A Hedy like language as introductory programming language    
* A Hedy like language as introductory programming language  


* Teacher manual about the languages used, the basics of programming  
* Teacher manual about the languages used, the basics of programming  
Line 137: Line 149:
* The teaching package must be affordable for schools, since not all schools have large budgets for this  
* The teaching package must be affordable for schools, since not all schools have large budgets for this  


* Learning steps from Physical debugging, to filling in pre-defined functions, to writing own    
* Learning steps from Physical debugging, to filling in pre-defined functions, to writing own  


'''Should Have'''  
'''Should Have'''  
Line 145: Line 157:
* Adaptive challenges based on the level of the students, if a group does well it should get harder challenges do not rush through the existing challenges  
* Adaptive challenges based on the level of the students, if a group does well it should get harder challenges do not rush through the existing challenges  


* An interactive digital learning environment where the explanations are given, and the programs are written    
* An interactive digital learning environment where the explanations are given, and the programs are written  


* The teaching package should emphasize how the robot running the program is being used in the real world, and thus show the importance of it. So, linking some challenges in the teaching program to a real-world problem that could be solved with the robot.  
* The teaching package should emphasize how the robot running the program is being used in the real world, and thus show the importance of it. So, linking some challenges in the teaching program to a real-world problem that could be solved with the robot.  
Line 151: Line 163:
'''Could Have'''  
'''Could Have'''  


* Integration with other subjects (like spelling and math)    
* Integration with other subjects (like spelling and math)  


* Translation courses for Dutch programming to English programming as a good transition to real programming languages.  
* Translation courses for Dutch programming to English programming as a good transition to real programming languages.  
Line 163: Line 175:
'''Wont have'''  
'''Wont have'''  


* Block based    
* Block based  


* Too much preparation time for the teacher    
* Too much preparation time for the teacher  


===== The robot =====
=== The robot ===
[[File:VenusExplorationRobot.png|thumb|Robot used for this project. ]]
[[File:VenusExplorationRobot.png|thumb|Robot used for this project. ]]
For the robots, robots of the old curriculum DBL Venus Exploration course are borrowed. These have some flaws and thus need to be debugged before usage. The robot is equipped with servos for the wheels, encoders on those wheels, a gripper to grab items and an ultrasound sensor to detect obstacles in front of it. It has an Arduino Uno on it. It originally also comes with a ZigBee wireless communication module, but this one will not be used for this project since it only makes communication between robots possible and not with the computer.
For the robots, robots of the old curriculum DBL Venus Exploration course are borrowed. These have some flaws and thus need to be debugged before usage. The robot is equipped with servos for the wheels, encoders on those wheels, a gripper to grab items and an ultrasound sensor to detect obstacles in front of it. It has an Arduino Uno on it. It originally also comes with a ZigBee wireless communication module, but this one will not be used for this project since it only makes communication between robots possible and not with the computer.
Line 175: Line 187:
With all this equipment the robot can do the following things: Drive forward, make turns (left, right, at certain degrees), stop, detect objects in front of it, grab objects, place objects back.
With all this equipment the robot can do the following things: Drive forward, make turns (left, right, at certain degrees), stop, detect objects in front of it, grab objects, place objects back.


===== The web interface =====
=== The web interface ===
For the web interface we have created for the student is grouped by subject.
For the web interface we have created for the student is grouped by subject.


Line 182: Line 194:
[[File:Teaching plan debugging class.png|thumb|Teaching plan debugging class]]
[[File:Teaching plan debugging class.png|thumb|Teaching plan debugging class]]
[[File:Webpage.png|thumb]]
[[File:Webpage.png|thumb]]
=== Research methods ===
Finding a place to test:
We sent the following email to elementary schools in Eindhoven, of which we already got multiple enthusiastic replies:
'''''Onderwerp:''' Samenwerking voor Techniekworkshop op uw Basisschool''
''Geachte [Naam van school],''
''Wij zijn vier enthousiaste studenten van de Technische Universiteit Eindhoven en wij willen graag uw basisschool benaderen met een uniek en educatief aanbod. Ons doel is om kinderen te enthousiasmeren voor techniek door middel van een interactieve en leuke workshop.''
''Wij stellen voor om een middag op uw school te komen en de leerlingen in groepjes te leren programmeren met behulp van een kleine robot. Deze activiteit is ontworpen om de creativiteit en probleemoplossende vaardigheden van de kinderen te stimuleren, terwijl ze op een speelse manier kennismaken met de basisprincipes van programmeren en technologie. De kinderen hebben geen voorkennis nodig over programmeren. We richten ons op kinderen tussen de 9 en 12 jaar.''
''Wij zorgen voor alle benodigde materialen en begeleiding, zodat de leerkrachten zich geen zorgen hoeven te maken over de organisatie. Het enige wat wij vragen is eenmalig een middag van uw tijd en de enthousiaste deelname van de leerlingen. Zou dit mogelijk zijn in week 41 of 42?''
''Wij geloven dat deze workshop een waardevolle aanvulling kan zijn op het huidige curriculum en een inspirerende ervaring voor de kinderen zal bieden. Wij hopen dan ook dat u openstaat voor deze samenwerking.''
''Graag horen wij van u of u geïnteresseerd bent in dit initiatief en of we een afspraak kunnen maken om de details verder te bespreken.''
''Met vriendelijke groet,''


=== Survey ===
=== Survey ===
The survey is designed according to the MCC Survey Guidelines<ref>https://www.mesacc.edu/sites/default/files/pages/section/about-mcc/research-planning/MCCSurveyGuidelines.pdf</ref>. Further it is adjusted to suit the target group, in this case children between the ages of 9-12. This means that language is simplified and more images are added in order to make the questions clearer to understand. Also the same question is asked multiple times with different phrasings, in order to prevent ambiguous question biases. The questions are in a random order to prevent question order bias.  
The survey is designed according to the MCC Survey Guidelines<ref>https://www.mesacc.edu/sites/default/files/pages/section/about-mcc/research-planning/MCCSurveyGuidelines.pdf</ref>. Further it is adjusted to suit the target group, in this case children between the ages of 9-12. This means that language is simplified and more images are added in order to make the questions clearer to understand. Also the same question is asked multiple times with different phrasings, in order to prevent ambiguous question biases. The questions are in a random order to prevent question order bias.  
 
{| class="wikitable"
All questions in the survey are asked on a 7 point Likert scale.
|+All questions in the survey are asked on a 7 point Likert scale
 
|1 = Helemaal niet mee eens
The questions are as followed: 
|2 = niet mee eens
 
|3 = niet helemaal mee eens
1 = Helemaal niet mee eens  
|4 = ik ben neutraal
 
|5 = een beetje mee eens
2 = niet mee eens
|6 = mee eens
 
|7 = helemaal eens
3 = niet helemaal mee eens
|}
 
The questions are as follows:
4 = ik ben neurtaal
 
5 = een beetje mee eens
 
6 = mee eens
 
7 = helemaal eens  


Wat is je groepsnummer?  
Wat is je groepsnummer?  
Line 231: Line 215:
Ik heb ervaring met coderen.  
Ik heb ervaring met coderen.  


1 (helemaal niet mee eens) tot 7 (helemaal eens)   
''1 (helemaal niet mee eens) tot 7 (helemaal eens)''  


Als ik de code zie, weet ik precies wat de robot gaat doen
Als ik de code zie, weet ik precies wat de robot gaat doen


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''Ik begrijp het doel van elk onderdeel van de code die ik heb geschreven of mee heb gewerkt.
 
 
Ik begrijp het doel van elk onderdeel van de code die ik heb geschreven of mee heb gewerkt.
 
1 (Helemaal niet mee eens) tot 7 (Helemaal eens)


''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''


Het is gemakkelijk voor mij om te begrijpen wat de code moet doen.
Het is gemakkelijk voor mij om te begrijpen wat de code moet doen.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''


Ik heb het gevoel dat ik beter ben geworden in coderen tijdens dit project.


Ik heb het gevoel dat ik beter ben geworder in coderen tijdens dit project.
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 
1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
 


Wanneer ik een nieuw stuk code zie, kan ik uitleggen wat het gaat doen zonder het te testen.
Wanneer ik een nieuw stuk code zie, kan ik uitleggen wat het gaat doen zonder het te testen.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 
 


Wanneer de robot zich niet gedraagt zoals ik wil, kan ik meestal ontdekken wat het probleem is.
Wanneer de robot zich niet gedraagt zoals ik wil, kan ik meestal ontdekken wat het probleem is.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 


Ik voel me zeker over het oplossen van problemen die te maken hebben met de code van de robot.
Ik voel me zeker over het oplossen van problemen die te maken hebben met de code van de robot.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 


Wanneer ik een probleem tegenkom in de code, kan ik meestal zelf de oplossing vinden.
Wanneer ik een probleem tegenkom in de code, kan ik meestal zelf de oplossing vinden.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 


Ik kan een groot probleem meestal opdelen in kleinere stappen.
Ik kan een groot probleem meestal opdelen in kleinere stappen.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 


Ik probeer verschillende oplossingen wanneer mijn code niet werkt zoals verwacht.
Ik probeer verschillende oplossingen wanneer mijn code niet werkt zoals verwacht.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 
 


Ik voel me fijner wanneer ik mijn code kan testen om te zien of deze correct werkt.
Ik voel me fijner wanneer ik mijn code kan testen om te zien of deze correct werkt.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 


Ik heb het gevoel dat het testen van de robot mij heeft geholpen de code beter te begrijpen.
Ik heb het gevoel dat het testen van de robot mij heeft geholpen de code beter te begrijpen.


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 


Wanneer ik wijzigingen aan de code aanbracht, begreep ik wat de robot zou gaan doen..
Wanneer ik wijzigingen aan de code aanbracht, begreep ik wat de robot zou gaan doen..


1 (Helemaal niet mee eens) tot 7 (Helemaal eens)
''1 (Helemaal niet mee eens) tot 7 (Helemaal eens)''
 
=== Project Planning ===
During the first week the focus has been preliminary research into robotics education on preschools.  
 
In the second week we delved deeper into similar existing resources for early childhood robotics education and formulated our research question, defined the requirements for the design of our teaching package, and created a schedule for our research and finalized the ERB and consent forms.  
 
In the third week of our research we are going to decide on our test group, program several predefined functions and start on the frontend the preschool students are going to use. Aside from that we are also going to send out surveils to students of the PABO in Tilburg, such that we can incorporate any feedback they have.
 
In the fourth week the implementation of the link between the GUI and the robot shall be established.
 
In the 6<sup>th</sup> week of our research we will finalize the teaching environment and finish the questionnaires for the participants of the study and their caregiverst/parents.
 
In the beginning of the 7<sup>th</sup> week we will carry out our lessons for our target group and proccess all the data.
 
In the last week of our research we will present our findings.
 
== '''Lessonplan''' ==
The lesonplans are created in by the template Lesvoorbereidingsformulier vakdidactiek fysica KU Leuven by Nils van Dessel.<ref>https://www.overleaf.com/latex/templates/lesvoorbereidingsformulier-vakdidactiek-fysica-ku-leuven/jfckfnfrmjty Nils Van Dessel</ref> This lessonplan is in Dutch, therefor the following paragraph is also in Dutch.
 
=== Lesplan op basis van debugging ===


=== '''Lesson plan''' ===
The lesson plans are created in by the template "Lesvoorbereidingsformulier vakdidactiek fysica KU Leuven by Nils van Dessel.<ref>https://www.overleaf.com/latex/templates/lesvoorbereidingsformulier-vakdidactiek-fysica-ku-leuven/jfckfnfrmjty Nils Van Dessel</ref>" This lessonplan is in Dutch, therefor the following paragraph is also in Dutch.


==== '''<big>Lesplan op basis van debugging</big>''' ====
'''Identificatiegegevens'''
'''Identificatiegegevens'''
{| class="wikitable"
{| class="wikitable"
Line 356: Line 307:
|Github:  , wiki: <nowiki>https://dsdwiki.wtb.tue.nl/wiki/PRE2024</nowiki> 1 Group1:
|Github:  , wiki: <nowiki>https://dsdwiki.wtb.tue.nl/wiki/PRE2024</nowiki> 1 Group1:
|}  
|}  


'''Verwachte voorkennis bij de leerlingen'''
'''Verwachte voorkennis bij de leerlingen'''
Line 519: Line 468:
|De lesstof  afsluiten, herhalen wat we vandaag
|De lesstof  afsluiten, herhalen wat we vandaag


hebben gedaan en enquites uitdelen
hebben gedaan en enquêtes uitdelen
|Enquites maken
|enquêtes maken
|}
|}
'''Visualisering van de inhoud en structuur van de les. Voeg een bordschema toe als dat relevant is.'''
'''Visualisering van de inhoud en structuur van de les. Voeg een bordschema toe als dat relevant is.'''
Line 529: Line 478:


(Hoe wordt de onderzoeksvraag en hypothese beantwoord. Op welke manier worden gegevens voor het onderzoek verzameld?)
(Hoe wordt de onderzoeksvraag en hypothese beantwoord. Op welke manier worden gegevens voor het onderzoek verzameld?)
  Aan het einde van de les zullen enquites worden uitgedeeld over hun ervaringen met de gastles. Er zullen ook observaties worden uitgevoerd, tijdens de les.
  Aan het einde van de les zullen enquêtes worden uitgedeeld over hun ervaringen met de gastles. Er zullen ook observaties worden uitgevoerd, tijdens de les.
 
 
=== Lesplan traditionele lesstructuur ===
 


===== <big>Lesplan traditionele lesstructuur</big> =====
'''Identificatiegegevens'''
'''Identificatiegegevens'''
{| class="wikitable"
{| class="wikitable"
Line 571: Line 517:
|Github:  , wiki: <nowiki>https://dsdwiki.wtb.tue.nl/wiki/PRE2024</nowiki> 1 Group1:
|Github:  , wiki: <nowiki>https://dsdwiki.wtb.tue.nl/wiki/PRE2024</nowiki> 1 Group1:
|}  
|}  


'''Verwachte voorkennis bij de leerlingen'''
'''Verwachte voorkennis bij de leerlingen'''
  Er is geen voorkennis. De school heeft aangegeven geen robotica te geven in hun techniek curriculum
Er is geen voorkennis. De school heeft aangegeven geen robotica te geven in hun techniek curriculum
'''Situering in lessenreeks'''
'''Situering in lessenreeks'''
  Dit is een individuele gastles.
  Dit is een individuele gastles.
Line 724: Line 668:
|De lesstof  afsluiten, herhalen wat we vandaag
|De lesstof  afsluiten, herhalen wat we vandaag


hebben gedaan en enquites uitdelen
hebben gedaan en enquêtes uitdelen
|Enquites maken
|enquêtes maken
|}
|}
'''Visualisering van de inhoud en structuur van de les. Voeg een bordschema toe als dat relevant is.'''
'''Visualisering van de inhoud en structuur van de les. Voeg een bordschema toe als dat relevant is.'''
Line 735: Line 679:


(Hoe wordt de onderzoeksvraag en hypothese beantwoord. Op welke manier worden gegevens voor het onderzoek verzameld?)
(Hoe wordt de onderzoeksvraag en hypothese beantwoord. Op welke manier worden gegevens voor het onderzoek verzameld?)
  Aan het einde van de les zullen enquites worden uitgedeeld over hun ervaringen met de gastles. Er zullen ook observaties worden uitgevoerd, tijdens de les.
  Aan het einde van de les zullen enquêtes worden uitgedeeld over hun ervaringen met de gastles. Er zullen ook observaties worden uitgevoerd, tijdens de les.
 
== '''Overview of existing resources for early childhood robotics education''' ==
 
=== Programming languages for kids ===
There are all different types of programming languages catered to children. In these programming languages we can make the distention between text based programming languages and block based programming languages.
 
'''Block based programming languages'''
 
A block based programming language is a of visual programming by using blocks. These coding blocks can be dragged and dropped after each other to create a program. The absence of written code eliminates any syntax errors from arising. The visual aspect of this teaching method makes it especially suitable for young children. Scratch<ref>https://scratch.mit.edu/</ref> and Blockly<ref><nowiki>https://blockly.games/</nowiki> </ref> are some of the most populair programming languages of this type, but there are also other such as Tynker<ref><nowiki>https://www.tynker.com/</nowiki> </ref> a website that contains games, blockbased programming and text based programming languages all in the same interface, trying to engage children by presenting it as a game.  
 
'''Text based programming languages'''
 
There are also a lot of text based programming languages for children. There are both text based languages specially made for children as well as normal programming languages with tutorials for children. With the latter, the main issue for educating children is the language barrier. Since nearly all programming languages are in English, there is a language barrier for children who do not master English to a sufficient level. In the Netherlands only in 1.6% of the households English is the primarily spoken language<ref>Schmeets, H., Cornips, L. (2021), Talen en dialecten in Nederland.''Centraal Bureau voor de Statestiek.'' <nowiki>https://www.cbs.nl/nl-nl/longread/statistische-trends/2021/talen-en-dialecten-in-nederland</nowiki> </ref>, therefor this is not a viable option for most preschool children. However, the programming languages for children such as Hedy<ref><nowiki>https://www.hedycode.com/</nowiki> </ref> are often translated in many different languages. This in combination with lessons catered specifically aimed at children, leads to a higher popularity amongst the texted based programming languages for children.  
 
=== Robots for children ===
'''Sequential robots'''
 
A type of robots made for children from ages 5-8 years are sequential robot. These robots do not need any code from the children, but make use of buttons. Once these buttons are pressed in a specific order, the robot will move according to the defined sequence. Some examples of these types of robot are BEE-bot<ref><nowiki>https://b-bot.nl/educatieve-robots/bee-bot</nowiki> </ref> and Code & Go Programmable Robot Mouse<ref><nowiki>https://www.learningresources.co.uk/stem-code-gotm-robot-mouse</nowiki> </ref>
 
Arduino based robots
 
There are multiple robots such as mBot<ref>https://www.makeblock.com/pages/mbot-robot-kit</ref>  which are Arduino based. These are easy to assemble and are often programmed using block based languages like Scratch. The usage of Arduino chips, allows the robots to be relatively cheap. These Arduino’s make them also more fragile for young kids than other alternatives on the market.
 
'''Robotic LEGO'''
 
The toycompany LEGO has developed 2 different lines of robotic LEGO, LEGO Spike<ref><nowiki>https://spike.legoeducation.com/</nowiki> </ref> and the Lego Mindstorms<ref>[[Lego Mindstorms|https://en.wikipedia.org/wiki/Lego_Mindstorms]] </ref>. The first one is created for educational use with builds for all different age groups, whereas the second is mainly for personal use. Both series allow you to build your robot and program it using block based programming. LEGO differentiates itself from other robots due to being easily build and reusable multiple times. These products allow the children to learn more about both the coding of the robots, as well as the building.  


== '''Research papers''' ==
== '''Research papers''' ==
Line 801: Line 771:
|11  
|11  
|}
|}


Week 2  
Week 2  
Line 885: Line 854:
|-
|-
|Naomi  
|Naomi  
|Meetings(1+4+2h) + Frontend (8h) + enquites(1h) + Wiki (nog te doen voor deadline deze week)
|Meetings(1+4+2h) + Frontend (8h) + enquêtes(1h) + Wiki (nog te doen voor deadline deze week)
|16
|16
|-
|-
Line 899: Line 868:
|-
|-
|Gijs  
|Gijs  
|
|Meetings(1+2+1h)
|
|
|-
|-
|Morgan  
|Morgan  
|
|Meetings(1+2+1h)+ working on the bluetooth module(3+3+3+5h), design and write code for the exercises (2h) + wiki (0,5h)
|
|20.5
|-
|-
|Naomi  
|Naomi  
|Meetings(1+1+1h) + Lesplan (5h) + enquites(0.5h) + Ontwerpen opgaves (2h) + Werkblad (1h) + Wiki (1h)
|Meetings(1+2+1h) + Lesplan (5h) + enquêtes(0.5h) + Ontwerpen opgaves (2h) + Werkblad (1h) + Wiki (1h)
|12
|13.5
|-
|-
|Tom  
|Tom  
|
|Meetings(1+2+1h)
|
|
|}
|}

Revision as of 16:07, 13 October 2024

Group members
Name Student Number Study
Naomi Han 0986672 CS
Gijs Kruize 1656882 CS
Tom de Leeuw 1893904 PT
Morgan van Tilburg 1557947 EE

Our research

A lot of research and products are already available for teaching robotics. There are both a lot of programming languages and robot types for many different age groups. We noticed however that there are no robots for preschoolers that can be programmed using text based programming languages. All programmable robots we have found are programmed using block based code, such as the Robitic Lego, or not programmable by code at al, such as the sequential robots.[1]

Problem statement

With the rapid growth in all kinds of technological fields, such as AI and engineering in cars, there is a large shortage of people with a career in technology[2]. A lot of young people do not choose for a career in technology[3]. This is partially because there is no proper introduction to technology in the education of young children.

Users/Stakeholders

There are several stakeholders for the end product of this project. The children that will interact with the simplified programming language are the first major stakeholder. Further, there are the parents of the children, as well as the teachers. Another important stakeholder are technical universities and large tech companies. Lastly there is the education system.  

The children

The primary user of this technology are the children that use the product. They will need a safe and challenging learning environment for them to engage in. The product has to be interesting and fun for them, so they will pay attention to the subjects that are taught. On top of that, the product should be at a level that they can understand. The primary goal of the product is to give the children a gentile introduction to the world of programming and robotics.  

The parents

The most important aspect of the product for the parents is that their children are safe. The children should not be exposed to dangerous elements in the product, such as small parts, lose wires and fast spinning motors they can get stuck in. Further, when there is an online environment in the product, their children's data should be stored in a safe space, so their data is not all over the internet. The second most important thing for the parents is that their children are actually learning something, and they get their money’s worth.

Teachers

The product should be easily integrated into the existing educational program, in order to reduce the amount of work for the teachers. Further, the product should be engaging for the student and have different difficulty levels to fulfill the individual needs of every student. On top of that, the product should be intuitive to understand for the teachers so they can answer possible questions that the students may have. This can be achieved by making a teacher’s guide that explains the program in detail.  

Technical universities and large tech companies

The program is meant to encourage young children to pick a technological career path. This is done by introducing them to technology and its many different aspects at an early age. Technical universities and large tech companies have a major interest in the possible outcome of this project, since they are the ones who benefit the most.  

Educational system

The educational system is the main stakeholder that decides if the product is suited for the current educational program.  Again, the project should be easily integrated into the exiting educational format. Also for this stakeholder, the product has to be properly tested on classes in an ethically correct environment.

Research Question

How does a physical debugging-first approach to coding robots compare to a bottom-up coding approach in terms of students' problem-solving skills and code comprehension?

Hypothesis

Debugging is a vital part of coding. The traditional approach to learning to code is to learn the syntax and basic programming first and how to debug later. However, by focusing on debugging earlier or even in the beginning of the learning process, coding novices can get a deeper understanding of the coding process and language they are writing in. Furthermore, they can build their coding and problem solving skills more effectively according to Lowe, 2019[4]. On top of that, the robot is a form of visual debugging, which can help promote experimentation and improve debugging in general (Grimm, 2002)[5]. The test group that has to debug can practice longer with the visual debugging then the bottom-up group, so all benefits for visual debugging might apply more to them. Since both test groups will have to debug if they make a mistake in the final assignments, it is expected that the group that immediately starts debugging will have an edge both in problem solving skills and in code comprehension.

Test Plan

In this study, students will be divided into two groups, each using a different method to learn how to program robots.

Group 1: Physical Debugging-First Approach

Students in this group will start with incomplete or faulty code. They will:

  • Run the robot and observe its behavior to identify what is going wrong.
  • Physically debug by adjusting the code based on what they see happening with the robot (e.g., the robot moving in the wrong direction, not picking up objects, etc.).
  • Over time, they will progress from fixing small issues to writing more substantial parts of the program themselves. However, they will always start by observing and debugging the robot's physical actions.

This approach emphasizes connecting the robot’s real-world behavior with code changes, helping students develop problem-solving skills by learning how their code affects the robot directly.

Group 2: Bottom-Up Coding Approach

This group will begin by writing code from scratch. Students will:

  • Start with simple robot tasks (e.g., making the robot move in a straight line).
  • Gradually build up complexity as they master each function, moving from basic actions to more complex behaviors like turning, grabbing objects, and avoiding obstacles.
  • Continue building layer by layer until they can write programs to complete complex challenges.

This method focuses on systematically developing coding skills by starting from basic robot control and gradually adding more complexity to their programs.

Comparative Test Process

To compare the effectiveness of these approaches, students will go through several iterations of practice tasks followed by a standardized exam task.

  1. Practice Tasks: Each group will work on three tasks using their assigned method—either physical debugging or bottom-up coding. These tasks will vary in difficulty but are designed to reinforce the core learning technique of each group.
  2. Exam Tasks: After completing the three practice tasks, both groups will be given the same exam task. This task will be presented without any additional guidance or code aids. The exam task will require both groups to use the robot to complete a challenge, but without the specific support from their previous method (e.g., no pre-written code for the debugging group or no step-by-step build-up for the coding group).

This process will be repeated in several cycles: three practice tasks followed by one exam task. By doing this multiple times, we will collect enough data to compare how both groups perform.

Metrics for Comparison

To evaluate the two approaches, we will focus on the following key metrics:

  • Number of attempts per exam task: How many tries does each group need to successfully complete the exam task?
  • Time taken: How long does each group take to solve the exam task?
  • Quality of the final solution: How accurate and efficient is the program they write for the robot?
  • Learning progression: How do both groups improve over time? Are they able to solve exam tasks faster and with fewer attempts as they progress?

Getting a place to test

We sent the following email to elementary schools in Eindhoven, of which we already got multiple enthusiastic replies:

Onderwerp: Samenwerking voor Techniekworkshop op uw Basisschool

Geachte [Naam van school],

Wij zijn vier enthousiaste studenten van de Technische Universiteit Eindhoven en wij willen graag uw basisschool benaderen met een uniek en educatief aanbod. Ons doel is om kinderen te enthousiasmeren voor techniek door middel van een interactieve en leuke workshop.

Wij stellen voor om een middag op uw school te komen en de leerlingen in groepjes te leren programmeren met behulp van een kleine robot. Deze activiteit is ontworpen om de creativiteit en probleemoplossende vaardigheden van de kinderen te stimuleren, terwijl ze op een speelse manier kennismaken met de basisprincipes van programmeren en technologie. De kinderen hebben geen voorkennis nodig over programmeren. We richten ons op kinderen tussen de 9 en 12 jaar.

Wij zorgen voor alle benodigde materialen en begeleiding, zodat de leerkrachten zich geen zorgen hoeven te maken over de organisatie. Het enige wat wij vragen is eenmalig een middag van uw tijd en de enthousiaste deelname van de leerlingen. Zou dit mogelijk zijn in week 41 of 42?

Wij geloven dat deze workshop een waardevolle aanvulling kan zijn op het huidige curriculum en een inspirerende ervaring voor de kinderen zal bieden. Wij hopen dan ook dat u openstaat voor deze samenwerking.

Graag horen wij van u of u geïnteresseerd bent in dit initiatief en of we een afspraak kunnen maken om de details verder te bespreken.

Met vriendelijke groet,

Project Planning

During the first week the focus has been preliminary research into robotics education on preschools.  

In the second week we delved deeper into similar existing resources for early childhood robotics education and formulated our research question, defined the requirements for the design of our teaching package, and created a schedule for our research and finalized the ERB and consent forms.  

In the third week of our research we are going to decide on our test group, program several predefined functions and start on the frontend the preschool students are going to use. Aside from that we are also going to send out surveils to students of the PABO in Tilburg, such that we can incorporate any feedback they have.

In the fourth week the implementation of the link between the GUI and the robot shall be established.

In the 6th week of our research we will finalize the teaching environment and finish the questionnaires for the participants of the study and their caregiverst/parents.

In the beginning of the 7th week we will carry out our lessons for our target group and proccess all the data.

In the last week of our research we will present our findings.

Final Product

Our final product will consist of a teaching package designed as an introductory course consisting of 2 to 3 lessons that integrate an online coding environment, a physical robot, and a comprehensive teacher manual. The curriculum will use a simplified text-based programming language, rather than a block-based one, to offer a more authentic coding experience. To make the learning process approachable for beginners, the language will include predefined functions that will gradually become less predefined in each lesson, encouraging students to take on more coding responsibilities. Each lesson will focus on key skills such as debugging, completing existing code, and writing code independently.

The inclusion of a physical robot is a deliberate choice, as it provides a tangible way to visualize the code's impact, making abstract concepts more accessible. This hands-on approach also serves as an effective method for students to learn debugging by observing the robot’s actions and correcting their code accordingly. Additionally, we will develop a coding manual tailored to the needs of teachers, particularly those who may not be familiar with coding. The manual will include clear, step-by-step instructions and explanations to ensure that teachers can confidently guide their students through the lessons.

Goal of the Study

The comparison will help us determine which method—physical debugging-first or bottom-up coding—leads to better outcomes in terms of problem-solving, code comprehension, and robot control. By tracking how both groups perform on exam tasks, we will see which approach develops stronger programming and debugging skills in students learning to control robots.

Design

The curriculum is designed according to the following MoSCoW criteria:

Must Have  

  • A physical robot to keep kid’s attention  
  • A Hedy like language as introductory programming language  
  • Teacher manual about the languages used, the basics of programming  
  • The teaching package must be affordable for schools, since not all schools have large budgets for this  
  • Learning steps from Physical debugging, to filling in pre-defined functions, to writing own  

Should Have  

  • A classical part to the lessons where the coding and robotics principles are explained, and group-based challenges where the groups work on challenges to make the robot do stuff.  
  • Adaptive challenges based on the level of the students, if a group does well it should get harder challenges do not rush through the existing challenges  
  • An interactive digital learning environment where the explanations are given, and the programs are written  
  • The teaching package should emphasize how the robot running the program is being used in the real world, and thus show the importance of it. So, linking some challenges in the teaching program to a real-world problem that could be solved with the robot.  

Could Have  

  • Integration with other subjects (like spelling and math)  
  • Translation courses for Dutch programming to English programming as a good transition to real programming languages.  
  • Teachers can create their own functions to diversify their class  
  • Play/playground functions(?)  
  • Wireless communications with the robot  

Wont have  

  • Block based  
  • Too much preparation time for the teacher  

The robot

Robot used for this project.

For the robots, robots of the old curriculum DBL Venus Exploration course are borrowed. These have some flaws and thus need to be debugged before usage. The robot is equipped with servos for the wheels, encoders on those wheels, a gripper to grab items and an ultrasound sensor to detect obstacles in front of it. It has an Arduino Uno on it. It originally also comes with a ZigBee wireless communication module, but this one will not be used for this project since it only makes communication between robots possible and not with the computer.

Next to this existing robot, we would like to add a Bluetooth module to the robot so it can be wirelessly updated with the code. For this we are looking into the Bluetooth HC-05 module RF transceiver Master en Slave that can be bought for €11,- at TinyTronics, a local electronics store in Eindhoven. With this module it would be possible to upload the code wirelessly. This would decrease the waiting time for the children since they are not allowed to plug in the robot themselves.

With all this equipment the robot can do the following things: Drive forward, make turns (left, right, at certain degrees), stop, detect objects in front of it, grab objects, place objects back.

The web interface

For the web interface we have created for the student is grouped by subject.

We have two different interfaces for each of the testgroups with the same style and lay-out. To appease to the age-group we have tried to make the design suited for children by incorporating vibrant colors, minimizing empty space and making most objects rounded, while still being suitable for educational settings by keeping the collors, although vibrant still in the same collor pallet and making the patterns repatative.[6] The design is kept simple and intuitive, both for students and teachers.

Teaching plan debugging class
Webpage.png

Survey

The survey is designed according to the MCC Survey Guidelines[7]. Further it is adjusted to suit the target group, in this case children between the ages of 9-12. This means that language is simplified and more images are added in order to make the questions clearer to understand. Also the same question is asked multiple times with different phrasings, in order to prevent ambiguous question biases. The questions are in a random order to prevent question order bias.

All questions in the survey are asked on a 7 point Likert scale
1 = Helemaal niet mee eens 2 = niet mee eens 3 = niet helemaal mee eens 4 = ik ben neutraal 5 = een beetje mee eens 6 = mee eens 7 = helemaal eens

The questions are as follows:

Wat is je groepsnummer?

hoe oud ben je?

Ik heb ervaring met coderen.

1 (helemaal niet mee eens) tot 7 (helemaal eens)

Als ik de code zie, weet ik precies wat de robot gaat doen

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)Ik begrijp het doel van elk onderdeel van de code die ik heb geschreven of mee heb gewerkt.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Het is gemakkelijk voor mij om te begrijpen wat de code moet doen.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Ik heb het gevoel dat ik beter ben geworden in coderen tijdens dit project.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Wanneer ik een nieuw stuk code zie, kan ik uitleggen wat het gaat doen zonder het te testen.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Wanneer de robot zich niet gedraagt zoals ik wil, kan ik meestal ontdekken wat het probleem is.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Ik voel me zeker over het oplossen van problemen die te maken hebben met de code van de robot.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Wanneer ik een probleem tegenkom in de code, kan ik meestal zelf de oplossing vinden.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Ik kan een groot probleem meestal opdelen in kleinere stappen.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Ik probeer verschillende oplossingen wanneer mijn code niet werkt zoals verwacht.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Ik voel me fijner wanneer ik mijn code kan testen om te zien of deze correct werkt.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Ik heb het gevoel dat het testen van de robot mij heeft geholpen de code beter te begrijpen.

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Wanneer ik wijzigingen aan de code aanbracht, begreep ik wat de robot zou gaan doen..

1 (Helemaal niet mee eens) tot 7 (Helemaal eens)

Lesson plan

The lesson plans are created in by the template "Lesvoorbereidingsformulier vakdidactiek fysica KU Leuven by Nils van Dessel.[8]" This lessonplan is in Dutch, therefor the following paragraph is also in Dutch.

Lesplan op basis van debugging

Identificatiegegevens

Naam: Naomi Han, Gijs Kruize,

Tom de Leeuw, Morgan van Til-

burg

Start op: 10:30 Duur: 1.5 uur School: Basisschool Rapenland
Schooltype: Basis onderwijs Lokaal: Klaslokaal met Digibord Aantal lln.: 24 Graad, jaar en studierichting: Groep 7

Lesgegevens

Schoolvak: Roboticales
Lesonderwerp: Robot programeren met behulp van versimpelde codeertaal
Leerplannummer en onderwijskoepel: De leerlingen zullen door middel van debuggen leren hoe ze zelf code kunnen schrijven.
Gevolgd leerboek: n.v.t.
Andere bronnen: Digitale leeromgeving waar de leeringen in zullen programmeren.
Bijlagen bij de lesvoorbereiding: Github: , wiki: https://dsdwiki.wtb.tue.nl/wiki/PRE2024 1 Group1:

Verwachte voorkennis bij de leerlingen

 Er is geen voorkennis. De school heeft aangegeven geen robotica te geven in hun techniek curriculum

Situering in lessenreeks

Dit is een individuele gastles.

Andere aspecten van de beginsituatie

(organisatie van het leslokaal, aard van en/of diversiteit in de klasgroep, attitudes, andere aspecten die om aandacht vragen en/of van belang zijn voor het lesverloop)

 De leerlingen hebben eerst pauze. De kinderen zullen van tevoren verteld zijn over deze gastles. Het klaslokaal zal van tevoren opgezet worden, waarna de kinderen daarna pas binnen komen. De leerlingen zullen in groepjes gaan zitten. Elk groepje bestaat uit 4 of 5 kinderen, waarbij gestreefd wordt om zo veel mogelijk groepen van 4 te vormen.

Benodigdheden en materiaal

(Voorbereiding voor aanvang van de les, veiligheidsvoorzieningen, didactisch materiaal...)

Elk groepje zal een laptop nodig hebben die al van tevoren is ingesteld. Daarnaast heeft elk groepje een robot tot zijn beschikking, met een parcours uitgeprint op papier met kartonnen obstakels. Elk groepje heeft ook hulpbladen voor het programeren tot zijn beschikking.

Lesindeling

Onderdeel Duur Rol van de leraar Media Onderwijsactiviteit leerkracht Werkvormen en didactische principes Leeractiviteit leerlingen

(Bij voorkeur niveau Bloom

en aspecten CD aangeven)

Lesopening 10:30-

10:35

Gastheer geen De klas tot rust roepen en de aandacht vragen Plaats nemen en stil zijn.
Introductie 10:35-

10:40

Presentator Whitebord/

beamer

Toelichten onderwerp, tevens enthousiasmeren Actief meedoen in conversatie.
Theorie robot 10:40-

10:45

Didacticus Whitebord/

beamer

Algemene uitleg over de robot geven Aandachtig luisteren
Theorie fout op-

sporingscyclus

10:45-

10:50

Didacticus Whitebord/

beamer

Uitleg geven over debuggen aan de hand van de

foutopsporingscyclus

Aandachtig luisteren, meeschrijven op werkblad

foutopsporingscyclus

Debug-opdracht

1

10:50-

11:00

Didacticus/

Pedagoog

Robot, laptop Rondlopen, vragen beantwoorden, leerlingen

helpen bij het doorlopen van de foutopsporings-

cyclus.

In groepsverband ”opdracht 1 Bewegen” maken
Eind-opdracht 1 11:00-

11:15

Didacticus/

Pedagoog

Robot,

laptop

Rondlopen, vragen beantwoorden, leerlingen

ondersteunen bij het leerproces.

In groepsverband ”opdracht 1 Parcours” maken
Omschakelen 11:20-

11:25

Presentator geen Klasikaal terug de aandacht pakken. Volgende

opdracht introduceren

Aandachtig luisteren
Debug-opdracht

2

11:25-

11:35

Didacticus/

Pedagoog

Robot,

laptop

Rondlopen, vragen beantwoorden, leerlingen

helpen bij het doorlopen van de foutopsporings-

cyclus.

In groepsverband ”opdracht 2 Obstakel ”
Eindopdracht 2 11:35-

11:50

Didacticus/

Pedagoog

Robot,

laptop

Rondlopen, vragen beantwoorden, leerlingen

helpen bij het doorlopen van de foutopsporings-

cyclus.

In groepsverband ”opdracht 3 Wegversperring”
Afsluiting 11:50-

12:00

Afsluiter geen De lesstof afsluiten, herhalen wat we vandaag

hebben gedaan en enquêtes uitdelen

enquêtes maken

Visualisering van de inhoud en structuur van de les. Voeg een bordschema toe als dat relevant is.

(Indien specifiek van toepassing. Vaak zullen deze elementen opgenomen zijn in de bijgevoegde presentatie.)

Er zal een powerpoint en werkbladen worden gedeeld. Verder is er een parcours voor de robot op A1 formaat voor elk groepje.

Evaluatie

(Hoe wordt de onderzoeksvraag en hypothese beantwoord. Op welke manier worden gegevens voor het onderzoek verzameld?)

Aan het einde van de les zullen enquêtes worden uitgedeeld over hun ervaringen met de gastles. Er zullen ook observaties worden uitgevoerd, tijdens de les.
Lesplan traditionele lesstructuur

Identificatiegegevens

Naam: Gijs Kruize,

Tom de Leeuw, Morgan van Til-

burg

Start op: 13:00 Duur: 1.5 uur School: Basisschool Rapenland
Schooltype: Basis onderwijs Lokaal: Klaslokaal met Digibord Aantal lln.: 24 Graad, jaar en studierichting: Groep 7

Lesgegevens

Schoolvak: Roboticales
Lesonderwerp: Robot programeren met behulp van versimpelde codeertaal
Leerplannummer en onderwijskoepel: De leerlingen zullen leren hoe ze zelf code kunnen schrijven.
Gevolgd leerboek: n.v.t.
Andere bronnen: Digitale leeromgeving waar de leeringen in zullen programmeren.
Bijlagen bij de lesvoorbereiding: Github: , wiki: https://dsdwiki.wtb.tue.nl/wiki/PRE2024 1 Group1:

Verwachte voorkennis bij de leerlingen

Er is geen voorkennis. De school heeft aangegeven geen robotica te geven in hun techniek curriculum

Situering in lessenreeks

Dit is een individuele gastles.

Andere aspecten van de beginsituatie

(organisatie van het leslokaal, aard van en/of diversiteit in de klasgroep, attitudes, andere aspecten die om aandacht vragen en/of van belang zijn voor het lesverloop)

De leerlingen hebben eerst lunchpauze. De kinderen zullen van tevoren verteld zijn over deze gastles. Het klaslokaal zal van tevoren opgezet worden, waarna de kinderen daarna pas binnen komen. De leerlingen zullen in groepjes gaan zitten. Elk groepje bestaat uit 4 of 5 kinderen, waarbij gestreefd wordt om zo veel mogelijk groepen van 4 te vormen.

Benodigdheden en materiaal

(Voorbereiding voor aanvang van de les, veiligheidsvoorzieningen, didactisch materiaal...)

Elk groepje zal een laptop nodig hebben die al van tevoren is ingesteld. Daarnaast heeft elk groepje een robot tot zijn beschikking, met een parcours uitgeprint op papier met kartonnen obstakels. Elk groepje heeft ook hulpbladen voor het programeren tot zijn beschikking.

Lesindeling

Onderdeel Duur Rol van de leraar Media Onderwijsactiviteit leerkracht Werkvormen en didactische principes Leeractiviteit leerlingen

(Bij voorkeur niveau Bloom

en aspecten CD aangeven)

Lesopening 13:00-

13:05

Gastheer geen De klas tot rust roepen en de aandacht vragen Plaats nemen en stil zijn.
Introductie 13:05-

13:10

Presentator Digibord/

beamer

Toelichten onderwerp, tevens enthousiasmeren Actief meedoen in conversatie.
Theorie robot 13:10-

13:15

Didacticus Digibord/

beamer

Algemene uitleg over de robot geven Aandachtig luisteren
Voorbeeld

programmeer

opdracht

13:15-

13:20

Didacticus Digibord/

beamer

Voordoen van de voorbeeld programmeer op-

dracht.

Luisteren, aantekeningen maken
Oefenopdracht

1

13:20-

13:45

Didacticus/

Pedagoog

Robot, laptop Rondlopen, vragen beantwoorden, leerlingen bij

problemen in het programmeren

In groepsverband ”opdracht 1 Bewegen”
Eind-opdracht 1 13:45-

14:05

Didacticus/

Pedagoog

Robot, laptop Rondlopen, vragen beantwoorden, leerlingen

ondersteunen bij het leerproces.

In groepsverband ”opdracht 1 Parcours” maken
Omschakelen 14:05-

14:10

Presentator geen Klasikaal terug de aandacht pakken. Volgende

opdracht introduceren

Aandachtig luisteren
Oefenopdracht

2

14:10-

14:25

Didacticus/

Pedagoog

Robot, laptop Rondlopen, vragen beantwoorden, leerlingen bij

problemen in het programmeren

In groepsverband ”opdracht 2 Obstakel ”
Eindopdracht 2 14:25-

14:45

Didacticus/

Pedagoog

Robot, laptop Rondlopen, vragen beantwoorden, leerlingen

helpen bij het doorlopen van de foutopsporings-

cyclus.

In groepsverband ”opdracht 3 Wegversperring”
Afsluiting 14:45-

14:55

Afsluiter geen De lesstof afsluiten, herhalen wat we vandaag

hebben gedaan en enquêtes uitdelen

enquêtes maken

Visualisering van de inhoud en structuur van de les. Voeg een bordschema toe als dat relevant is.

(Indien specifiek van toepassing. Vaak zullen deze elementen opgenomen zijn in de bijgevoegde presentatie.)

Er zal een powerpoint en werkbladen worden gedeeld. Verder is er een parcours voor de robot op A1 formaat voor elk groepje.
FOTO VAN DE WERKBLADEN TOEVOEGEN NA MAANDAG!!!!

Evaluatie

(Hoe wordt de onderzoeksvraag en hypothese beantwoord. Op welke manier worden gegevens voor het onderzoek verzameld?)

Aan het einde van de les zullen enquêtes worden uitgedeeld over hun ervaringen met de gastles. Er zullen ook observaties worden uitgevoerd, tijdens de les.

Overview of existing resources for early childhood robotics education

Programming languages for kids

There are all different types of programming languages catered to children. In these programming languages we can make the distention between text based programming languages and block based programming languages.

Block based programming languages

A block based programming language is a of visual programming by using blocks. These coding blocks can be dragged and dropped after each other to create a program. The absence of written code eliminates any syntax errors from arising. The visual aspect of this teaching method makes it especially suitable for young children. Scratch[9] and Blockly[10] are some of the most populair programming languages of this type, but there are also other such as Tynker[11] a website that contains games, blockbased programming and text based programming languages all in the same interface, trying to engage children by presenting it as a game.  

Text based programming languages

There are also a lot of text based programming languages for children. There are both text based languages specially made for children as well as normal programming languages with tutorials for children. With the latter, the main issue for educating children is the language barrier. Since nearly all programming languages are in English, there is a language barrier for children who do not master English to a sufficient level. In the Netherlands only in 1.6% of the households English is the primarily spoken language[12], therefor this is not a viable option for most preschool children. However, the programming languages for children such as Hedy[13] are often translated in many different languages. This in combination with lessons catered specifically aimed at children, leads to a higher popularity amongst the texted based programming languages for children.  

Robots for children

Sequential robots

A type of robots made for children from ages 5-8 years are sequential robot. These robots do not need any code from the children, but make use of buttons. Once these buttons are pressed in a specific order, the robot will move according to the defined sequence. Some examples of these types of robot are BEE-bot[14] and Code & Go Programmable Robot Mouse[15]

Arduino based robots

There are multiple robots such as mBot[16]  which are Arduino based. These are easy to assemble and are often programmed using block based languages like Scratch. The usage of Arduino chips, allows the robots to be relatively cheap. These Arduino’s make them also more fragile for young kids than other alternatives on the market.

Robotic LEGO

The toycompany LEGO has developed 2 different lines of robotic LEGO, LEGO Spike[17] and the Lego Mindstorms[18]. The first one is created for educational use with builds for all different age groups, whereas the second is mainly for personal use. Both series allow you to build your robot and program it using block based programming. LEGO differentiates itself from other robots due to being easily build and reusable multiple times. These products allow the children to learn more about both the coding of the robots, as well as the building.

Research papers

An Evaluation Framework and Comparative Analysis of the Widely Used First Programming Languages[19]

This paper looks at a framework to assess the suitability of widely used first programming languages (FPLs), where they consider both technical and environmental factors. This study doesn’t find a perfect language that meets all their criteria. Their framework, however, can guide educators in making an informed decision about which FPL to pick.

Non-Native English Speakers Learning Computer Programming: Barriers, Desires, and Design Opportunities[20]

In this paper, the challenges of non-native English speakers in learning computer programming are described. They found that non-native English speakers struggle with reading and writing code, understanding technical materials, and simultaneously learning both English and programming. The paper recommends that a learner-centred approach be taken for these non-native speakers. This should incorporate bilingual programming tools, more visual aids, culturally neutral examples and simplified English.

Teaching Coding to Children: A Methodology for Kids 5+[1]

This paper talks about teaching kids how to code and which parts of coding are essential to learn first. There are already methods for learning kids programming like Scratch and Tynkers but these would lack comprehensive methodologies for effectively teaching fundamental coding concepts. The paper suggest to start the learning process with algorithms, loops and if-conditionals.

Transitioning from Block-Based to Text-Based Programming Languages[21]

This paper looks at what happens at the switch from block-based programming to text-based programming languages. It describes how block-based languages lower the barrier to learning programming since they eliminate syntax complexities. Transitioning from a block-based language to a text-based language comes with challenges like reduced confidence and incorrect programming habits. Which in return might discourage students from using syntax-heavy languages.  They would recommend letting block-based programming languages have a form of automatic syntax placement so it would automatically teach syntax.

Visual programming languages integrated across the curriculum in elementary school: A two year case study using “Scratch” in five schools[22]

This study follows 107 primary school students using a programming language called Scratch for 2 years. This research demonstrates that the implementation of creative computing showed that using a visual programming language (VPL) actively improves a student’s grasp of programming concepts, logic, and computational practices. It highlights that students effectively learned about sequences, loops, parallelism, and events in programming.

Programming experience promotes higher STEM motivation among first-grade girls [23]

In this paper demonstrates that early exposure to programming can significantly boost girls interest in tecnology-related fields like computer science and engineering. The study found that only a brief experience with programming robots reduced the gender gap in technology motivation. It however didn't alter existing gender stereotypes about programming and robotics.  

The Effects of Gender Role Stereotypes in Digital Learning Games on Motivation for STEM Achievement[24]

This study investigated how different gender depictions of a scientist in digital learning games affect STEM-based learning motivations among various age groups. It found that younger children were more affected by the traditional view of scientists, very masculine men and less feminine women. Older children were influenced more by the sex of the scientist. According to the study, personalising characters in these games might help lessen the impact of these stereotypes while also increasing interest in STEM disciplines among kids from diverse backgrounds.

Debugging behaviors of early childhood teacher candidates with or without scaffolding[25]

This study has looked at the how preschool teachers learn how to code with and without the scaffolding method. The scaffolding method is a teaching strategy where support is provide and slowly decreased the further in education goes. In this research the group taught via scaffolding, were using a hypothesis based approach in the debugging, where when stuck, the participants of the study had to form 3 possible hypotheses of why the code was not running. Besides having to try to answer these questions, the instructors were less quick to help out these participants. In the second test group without scaffolding, the participants where not asked to formulate hypotheses for why the code was not running and where given more direct solutions from the instructors while stuck. The research showed that the first group with scaffolding methods, tried for longer to fix their code and gave up less quickly. Even though the research was quite interesting and a good possibility to use going forward, it is important to note that the entire test group was rather small and did also have 2/18 participants with prior knowledge of coding.

Developing preschool children’s computational thinking with educational robotics: the role of cognitive differences and scaffolding[26]   

In this paper, the researchers used aa BEE-Bot to test different teaching strategies in robotic teachings. They looked at the impact of two different scaffolding methods on both field dependent (FD) and field independent (FI) students.[27] The participants where divided amongst 3 groups. Two of the groups where using scaffolding methods and a third control group. Each group had a equal distribution of both FI and FD students. While there was not much difference noted between the two different scaffolding groups, both groups performed better than the control groups while using the scaffolding aids. When these aids where removed, there was not much difference between the FI students of the scaffolding groups or the control group. The FD students of the scaffolding groups did much worse than the FD students after the aid was removed.

“CREA”: An Inquiry-Based Methodology to Teach Robotics to Children[28]

This paper is about the CREA-methodology, an inquiry-based approach to teaching programming and robotics to children. It focusses on hands-on activities with visual programming tools like Visualino and was tested on an international primairy school in Barcelona. CREA consists of six sessions where students observe, analyze, and program robots, promoting problem-solving, teamwork, and creativity. Although some found Arduino’s syntax challenging, most appreciated the discovery-based learning and collaborative nature of the sessions. The paper has shown that this method increases the understanding from the children.

Hours log

Week 1

Who What Hours
Gijs Research (2h), Meetings&Lecture(2+2h) 6
Morgan Research (9h), Meetings&Lecture(2+2h) 13
Naomi Research (7h), Meetings&Lecture(2+2h), Administrative(0.5h) 11.5
Tom Research (7h), Meetings&Lecture(2+2h) 11

Week 2

Who What Hours
Gijs Research (3h), Writing out final product (1h), Testplan (1h) , Research on software systems (2h) Meetings(1+4h) 12
Morgan Research (4), Meetings(1+4h), talking to teachers(1h), final product(1h), Arranging Robots(1h)   12
Naomi Research (5.5h), Meetings(0.5+4h), Consent forms + ERB (3h), Wiki (3h), Working out research plan (2h) 18
Tom Research (4h), Meetings(1+4h), wiki (1.5h), planning (2h)   12.5

Week 3

Who What Hours
Gijs Meetings(1+4h), Setting up backend env local (3h), setting up frontend env local (1.5h), research in systems (3.5h) 13
Morgan Meetings(1+4h), making and researching pre-defined functions(4h), writing email to elementary schools(0.5h), editing wiki (0.5h) 10
Naomi Meetings (1+4h), wiki +research (3h) (ill since weekend) 8
Tom Meetings (1+4h), wiki + research (1h), contact with schools (3h) 9

Week 4

Who What Hours
Gijs Meetings(1+4h), Software research (1.5h), programming (2.5h) 9
Morgan Meetings(1+4h+0.5), debugging physical robot (3h), writing pre-defined functions (4h), researching wireless transfer of program and the items (1h) 13.5
Naomi Meetings(1+4+0.5+0.5h) + enquite (1h) (still ill during the week) 6
Tom Meetings(1+4+0,5h) + contact with schools (2h) 7,5

Week 5

Who What Hours
Gijs Meetings(1+4h), Software research (1.5h), programming (2.5h) 10
Morgan Meetings(1h+4h+2h)+ writing more pre-define functions (2h) +starting on connecting wireless transfer (1h) 10
Naomi Meetings(1+4+2h) + Frontend (8h) + enquêtes(1h) + Wiki (nog te doen voor deadline deze week) 16
Tom Meetings(1+4+2h) + contact with school (1h) + creating new research questions (1h) + research (1h) 10

Week 6

Who What Hours
Gijs Meetings(1+2+1h)
Morgan Meetings(1+2+1h)+ working on the bluetooth module(3+3+3+5h), design and write code for the exercises (2h) + wiki (0,5h) 20.5
Naomi Meetings(1+2+1h) + Lesplan (5h) + enquêtes(0.5h) + Ontwerpen opgaves (2h) + Werkblad (1h) + Wiki (1h) 13.5
Tom Meetings(1+2+1h)

Reference list

  1. 1.0 1.1 Kaplancali, U. T. (2017). Teaching Coding to Children: A Methodology for Kids 5+. International Journal of Elementary Education, 6(4), 32. https://doi.org/10.11648/j.ijeedu.20170604.11
  2. Engelhardt, A. (2023, July 21). Shortage of skilled workers in mechanical engineering. Encoway. https://www.encoway.de/en/blog/skilled-worker-shortage-in-machine-building/
  3. Edgar, G. (2022, March 8). Why young people are being put off a career in tech - Diversity in Tech. Diversity in Tech. https://www.diversityintech.co.uk/why-young-people-are-being-put-off-a-career-in-tech/
  4. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9028699
  5. https://onlinelibrary.wiley.com/doi/pdfdirect/10.1111/j.1939-7445.2002.tb00078.x
  6. https://motionmill.com/2021/11/website-ontwerpen-voor-kinderen/
  7. https://www.mesacc.edu/sites/default/files/pages/section/about-mcc/research-planning/MCCSurveyGuidelines.pdf
  8. https://www.overleaf.com/latex/templates/lesvoorbereidingsformulier-vakdidactiek-fysica-ku-leuven/jfckfnfrmjty Nils Van Dessel
  9. https://scratch.mit.edu/
  10. https://blockly.games/
  11. https://www.tynker.com/
  12. Schmeets, H., Cornips, L. (2021), Talen en dialecten in Nederland.Centraal Bureau voor de Statestiek. https://www.cbs.nl/nl-nl/longread/statistische-trends/2021/talen-en-dialecten-in-nederland
  13. https://www.hedycode.com/
  14. https://b-bot.nl/educatieve-robots/bee-bot
  15. https://www.learningresources.co.uk/stem-code-gotm-robot-mouse
  16. https://www.makeblock.com/pages/mbot-robot-kit
  17. https://spike.legoeducation.com/
  18. https://en.wikipedia.org/wiki/Lego_Mindstorms
  19. Farooq, M. S., Khan, S. A., Ahmad, F., Islam, S., & Abid, A. (2014). An evaluation framework and comparative analysis of the widely used first programming languages. PLoS ONE, 9(2), e88941. https://doi.org/10.1371/journal.pone.0088941
  20. Guo, P. J. (2018). Non-Native English speakers learning computer programming. CHI ’18: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. https://doi.org/10.1145/3173574.3173970
  21. Moors, L., Luxton-Reilly, A., & Denny, P. (2018). Transitioning from Block-Based to Text-Based Programming Languages. 2018 International Conference on Learning and Teaching in Computing and Engineering (LaTICE). https://doi.org/10.1109/latice.2018.000-5
  22. Sáez-López, J., Román-González, M., & Vázquez-Cano, E. (2016). Visual programming languages integrated across the curriculum in elementary school: A two year case study using “Scratch” in five schools. Computers & Education, 97, 129–141. https://doi.org/10.1016/j.compedu.2016.03.003
  23. Master, A., Cheryan, S., Moscatelli, A., & Meltzoff, A. N. (2017). Programming experience promotes higher STEM motivation among first-grade girls. Journal of Experimental Child Psychology, 160, 92–106. https://doi.org/10.1016/j.jecp.2017.03.013
  24. Hawkins, I., Ratan, R., Blair, D., & Fordham, J. (2019). The effects of gender role stereotypes in digital learning games on motivation for STEM achievement. Journal of Science Education and Technology, 28(6), 628–637. https://doi.org/10.1007/s10956-019-09792-w
  25. Kim, C., Vasconcelos, L., Belland, B.R. et al. Debugging behaviors of early childhood teacher candidates with or without scaffolding. Int J Educ Technol High Educ 19, 26 (2022). https://doi.org/10.1186/s41239-022-00319-9
  26. Georgiou, Kyriakoula; Angeli, Charoula Paper presented at the International Association for Development of the Information Society (IADIS) International Conference on Cognition and Exploratory Learning in the Digital Age (CELDA) (16th, Cagliari, Italy, Nov 7-9, 2019)
  27. Zhang, L. (2004). Field-dependence/independence: cognitive style or perceptual ability?––validating against thinking styles and academic achievement. https://doi.org/10.1016/j.paid.2003.12.015
  28. Blancas, Maria & Valero, Cristina & Mura, Anna & Vouloutsi, Vasiliki & Verschure, Paul. (2019). "CREA": An inquiry-based methodology to teach robotics to children.