Unlocking the Potential of Programming Education: Enhancing Conceptual Understanding and Student Engagement with Sphero SPRK Robot

This research investigates the use of the 'Sphero SPRK+' robot as a programming assistant to enhance conceptual understanding and engagement in programming education. The research addresses the challenges of teaching programming and underlines the significance of students understanding programming structures, semantics, syntax and planning. The Sphero robot offers multiple programming options, including graphic blocks, a pictorial command line


Introduction
Teaching programming poses significant challenges, irrespective of the programming language, strategy, or approach used [1,2,3].However, computer programming offers valuable skills with extensive career opportunities and potential for personal and professional growth [4].One of the primary difficulties in teaching programming lies in helping students understand programming structures, semantics, syntax, and planning [5,6].The critical conceptual understanding, encompassing logical context, steps, and operations, often remains obscured during programming education [4,5].Additionally, learners grapple with building structured solutions based on rigid syntax and confusing command names, leading to inflexible examples [3].Understanding classes, objects, and program design becomes a challenge as students struggle to link and apply these concepts effectively [7].To address these challenges, innovative approaches are necessary to assist novices in comprehending computational actions.One such solution is the use of a programming robot assistant like 'Sphero,' a programmable robotic ball controlled via smartphone and tablet [8].Sphero offers three programming options, incorporating puzzle-like graphic blocks, a pictorial command line, and text commands, catering to various learning preferences and skill levels.By leveraging Sphero's interactive capabilities, students receive guidance and immediate feedback during programming practice.This research explores the implementation and results of an educational robotic activity utilizing Sphero block programming to overcome the challenges of traditional programming education.The research aims to answer two key research questions: "RQ1: How does the use of robot technology and block programming impact students' interest in learning programming?" and "RQ2: How does the incorporation of this learning method assist students in enhancing their conceptual understanding of programming?"Through this investigation, the article sheds light on the potential of Sphero SPRK+ as an effective tool for fostering engagement and improving programming conceptualization.The subsequent sections of this article delve deeper into the background and related work, providing insights into the difficulties faced by students learning programming and the existing research on teaching programming languages.The methodology section elucidates the cognitive learning model employed and outlines the utilisation of Sphero as a programming assistant.The experimental results section presents the outcomes of the study, showcasing the impact of Sphero SPRK+ on programming learning outcomes.Additionally, the discussion section analyses the results in light of the literature review, highlighting the significance of educational robotics and block-based programming in addressing learning barriers and enhancing computational thinking skills.The following sections will provide a foundation for the significance of the research, exploring the challenges of programming education and the importance of problem-solving strategies and computational thinking skills.The role of robotics in providing tangible and handson experiences to make programming more concrete and engaging will be explored, leading to the introduction of Sphero SPRK as an educational robotics solution to foster improved learning outcomes in programming.The first section, "Background and Related Work," establishes the context by discussing the challenges faced in programming education and emphasising the significance of problem-solving strategies and computational thinking skills.It highlights the relevance of robotics in providing hands-on experiences to enhance programming learning.In the subsequent section, Sphero SPRK is introduced as a versatile programmable robotic tool emphasising the user-friendly nature of the Sphero EDU app, which combines visual blocks and Scratch-based coding, making it an ideal assistant programming tool for novice learners.The third section, Methodology, outlines the research approach, which involves the implementation of a cognitive learning model with a programming robot instructor present during practice.In the experimental Results section, the outcomes of the study are presented, demonstrating the positive impact of Sphero SPRK as an assistant programming tool.The research emphasises the value of Sphero SPRK as a cutting-edge method for enhancing programming education through the logical evolution of these portions.The Sphero SPRK platform makes learning computational thinking and problemsolving easier for students and equips them with the skills they need to succeed in programming.

RELATED WORK
One of the many obstacles faced by first-year students in information technology (IT) classes is being exposed to a subject they have no prior knowledge on nor studied in their previous learning [7].Such an issue appears challenging In programming, when students encounter a number of concepts, computer declarations and components that include obtaining set skills to be developed in parallel while learning and practicing programming [9].Understanding how programmes can be performed by putting together symbols that lead to computational activities and dealing with demanding syntax can also frustrate and discourage learners [10].
According to [5], the real challenge lies in the student transferring this learning syntax to solving a programming problem.Another challenge is to learn the complexity of concept details that implies logical reasoning, understanding abstract terms and variables that do not relate to real life [4].Computer programing in particular is a concern for many researchers and academics.For example, [11] refers to the type of methodology, the language and the topics that should be used to teach programming.According to [4], the most used programming language in academia is Java, covered by object oriented concepts.In teaching programming languages using traditional approaches, academics emphasize the importance of the language' syntax and semantics rather than the problem solving strategy itself to address programming problems [9].For instance, [12] argued that novice programmers know the syntax and semantics of individual statements but do not know how to combine this feature into valid programs.[13] indicate that introductory programming books primarily present particular language information and knowledge.Programming has consistently been demonstrated in research to improve children's algorithmic thinking [8].Programming plays an important role in improving algorithmic knowledge by making underlying mathematical assumptions explicit and concrete [8,14].When students translate problem-solving into software programs, they develop a deeper comprehension of algorithmic principles, resulting in improved mathematical problem-solving abilities [15].Moreover, the understanding of algorithmic thinking contributes to the broader development of computational thinking skills [28,24] Robotic environments provide tangible and hands-on experiences, making programming more concrete (15).By engaging with robots, students gain a deeper understanding of programming concepts, further strengthening their computational thinking abilities.However, only a small number of sources applied problem solving strategies linked to difficult concepts [16].According to [16], the analysis of the problem statement within the programming training provides a better overview of the problem and therefore a conception of the programming solution.The problem-solving strategy can add another layer for problem interpretation and presentation when breaking down the complexity from problem statement through problem-solving phase to finally produce code [3].Relating to this concept of problem solving, computational thinking is a fundamental skill for students and individuals' analytical ability alongside reading, writing and critical thinking that allows students to explore, dive and find information to understand complex concepts [17].Using effective forms of communication in different settings is ‫تعليمية‬ ‫إعدادات‬ ‫اسة‬ ‫الدر‬ ‫توفر‬ ‫خاللها.‬‫من‬ ‫البرمجة‬ ‫منطق‬ ‫تعلم‬ ‫لسهولة‬ ‫الرسومية‬ ‫الكتل‬ ‫يفضلون‬ ‫بانهم‬ ‫وصرحوا‬ ‫الكتل‬ ‫على‬ ‫المبنية‬ ‫البرمجة‬ ‫تعلم‬ ‫في‬ ‫الروبوتات‬ ‫استخدام‬ ‫اهمية‬ ‫على‬ ‫وتؤكد‬ ‫مهمة‬ ‫الت‬ ‫تعزيز‬ ‫في‬ ‫ألهميتها‬ ‫فكير‬ ‫الحسابية.‬‫ات‬ ‫والمهار‬ ‫الخوارزمي‬ the foundation of modern life.Managing, cognitive activities and problem solving in a range of contexts is highly rewarded in many fields including computing disciplines [18,19].Robotic educational applications and its features are mainly dedicated to computer simulations, robot programing, robot construction and artificial intelligence [8].However, alternative solutions that embrace educational robotics exist [18,20] and can enhance problem-solving and computational skills as well as engaging learners with diverse interest and learning styles.Robotics can be used as a teaching assistant tool to assist students to assimilate complex scenarios as it engages them and therefore to increase their computational thinking skills [21,19].To strengthen the learning of complex or abstract topics, educational robotics has been introduced in many educational institutions as a novel learning environment to maximize advanced problem-solving skills [6,22].Consequently, the addition of learning methods connected to learning instructions using robots facilitates teamwork, enhances critical thinking, scaffolding learning and conceptual understanding [23].
A ROBOT-PROGRAMMING ASSISTANT: SPHERO SPRK Sphero is a mobile app controlled robotic ball capable of moving in numerous directions [24] (see Figure 1).Users of Sphero have three options on programming and directing their robot.First choice is block programming, which uses a drag and drop interface.Draw programming where users can draw lines to program the robot, and text based code, for more advanced methods of programming ("programming with Sphero," 2017).As programming abilities become more valuable and in demand, the learnability of end-user programming skills becomes increasingly important.However, much research on learning barriers in programming systems has concentrated on languages, ignoring possible barriers in the environment and related libraries.According to [25], there are six categories of learning barriers: design, selection, coordination, use, comprehension, and information.These barriers motivate a new metaphor that takes a more learner-centric approach to programming [15].

Description
Design Barriers Inherent cognitive difficulties in solving programming problems, making it hard to visualize and conceive solutions.Selection Barriers Challenges in determining which programming interfaces are capable of achieving a specific behavior.

Coordination Barriers
Limitations in combining programming interfaces to achieve complex behaviors; learners struggle with coordination.
Use Barriers Difficulties in understanding how to use programming interfaces and their effects, including syntactical and parameter-related challenges.

Understanding Barriers
Challenges in evaluating program behavior, including difficulties with interpreting error messages and unexpected outcomes.

Information Barriers
Difficulties in acquiring information about a program's internal behavior, such as variable values or function calls, due to unclear tools or how to use them effectively.
These barriers highlight the various challenges learners face during programming education, ranging from conceptualization to implementation, coordination, and understanding of code behavior.

METHODOLOGY
The proposed methodology for this study is based on a cognitive learning model where a programming robot instructor is utilised during the practise of programming to provide immediate feedback based on user actions.The approach aims to create an engaging learning experience for students by enabling them to build programmes using blocks, similar to playing with LEGO, and benefit from the physical aspects of using a robotics assistant like Sphero.
The study involved eight participants, including a mix of students from the host university and members of the public who were either novice programmers or interested in learning programming.The teaching activity was conducted face-to-face in a computer lab, utilising Microsoft PowerPoint and a whiteboard for clarifications.Additionally, Apple devices (iPads and iPhones) were provided to participants without electronic devices to interact with the Sphero SPRK robot during the experiment, alongside Sphero SPRK+ with the Sphero Edu App.The participants were divided into two groups: Group A and Group B. Initially, all participants were given an overview of programming and introduced to the Sphero SPRK robot as an assistant programming tool.They were familiarised with how to use the Sphero SPRK robot to learn programming through blocks and codes, and examples were presented to demonstrate the capabilities of the Sphero SPRK robot technology.Subsequently, the two groups worked separately.Group A's task was to learn to build their own programme using blocks and then test it on the Sphero SPRK robot.On the other hand, Group B was assigned to learn to build their own programme using JavaScript code and test it on the Sphero SPRK robot.To assess the learning outcomes, a quiz was conducted.Group A was tested using Blocks with the assistance of the Sphero SPRK robot, while Group B was tested on JavaScript code with the assistance of the same robot.Additionally, qualitative data on participants' perceptions of the learning process was collected through a survey.The experiment's primary objectives were twofold: to understand the programming difficulties faced by participants and to gauge the effectiveness of Sphero SPRK robot technology as an assistant programming tool in improving participants' programming learning outcomes.By applying this methodology, the study sought to explore the potential benefits of utilising Sphero SPRK in programming education and its impact on novice programmers' learning experiences.The combination of the cognitive learning model and the hands-on experience with Sphero SPRK aimed to provide insights into the effectiveness of educational robotics as a tool for enhancing computational thinking skills and problem-solving abilities in the context of programming education.
Here is summarizing the main steps of the proposed methodology: Step Description

EXPERIMENTAL RESULTS
This study experiential learning activity revealed that programming topics were more engaging and easily understood by novice learners compared to traditional explanations.The proposed methodology combines hands-on learning with Sphero SPRK and a cognitive learning model to explore the impact of educational robotics on novices' programming skills.By using Sphero SPRK as an assistant programming tool, the research aims to enhance computational thinking skills and address programming challenges.The results, presented in a tabular form, provide valuable insights into students' satisfaction, experiences, and suggestions with Sphero SPRK.This innovative approach holds promising potential to revolutionize programming education and empower learners with an interactive and effective platform for skill development.

Disadvantages use Sphero SPRK
The Blocks technique is restrictive; for instance, you can not modify your code at any point when using Blocks.There were connectivity issues with some mobile devices

Frustrations with the experience
There is no enough time to play with Sphero robot Writing code in a cell phone is painful Suggestions for improvements Explanation or help text for each option For beginners, it would good idea to explain (variables, loops and methods) Not to primarily rely on Sphero because this could lead beginners to assume that programming is less complex than it actually is.Programming skills needed

Programming logic understanding Principle programming concepts Experience with Sphero SPRK robot technology
It is something that really could help beginners to learn programming in an easy way and very attractive not boring In contrast to codes, blocks are significantly simpler to understand, and learners should have no concerns about syntax and semantics.Blocks is easy to associate a concept with an action like dragging a box and seeing how the robot changed in real time Sphero robot and Sphero Edu App looks easy to understand and then easy to manage but first you need to understand how to deal with it Blocks method assists beginners in understanding what they are attempting to accomplish, and if there is a flaw in their programme, they can quickly identify it.Drag and drop functionality in the blocks technique eliminates the need for repetitive coding.The Sphero robot makes it achievable for anyone to learn programming on the go with greater flexibility.The technique is enjoyable and gives motivation to learn Block use does not require programming experience is the fastest and easiest in correct program design The results of the study using Sphero SPRK as an assistant programming tool demonstrated that programming topics became more interesting and engaging for novice learners compared to traditional conceptual explanations.Participants expressed high satisfaction with the Sphero App and robot, emphasising their ease of use and interactive nature.The advantages of using Sphero SPRK included its practicality in explaining programming concepts and its ability to motivate learners to study programming further.The Blocks method offered by Sphero SPRK was well-received as a user-friendly approach, allowing novices to understand programming logic without worrying about syntax and semantics.However, some limitations were identified, such as the restriction on editing code using the Blocks method and connectivity issues with certain mobile devices.Participants also emphasised the need to balance the use of Sphero with other learning methods to avoid oversimplifying programming concepts.The feedback suggested that a more comprehensive explanation of variables, loops, and methods within the Sphero Edu App could enhance the learning experience, especially for beginners.The results highlighted the importance of understanding programming logic and fundamental programming concepts, which were effectively facilitated by the Blocks method.Participants found the visual association of concepts with actions, such as dragging and dropping blocks, to be beneficial in understanding the flow and logic of the programming activity.Overall, the experience with Sphero SPRK was deemed enjoyable and motivating, offering an attractive and easy way for beginners to learn programming.The study underscored the significance of incorporating tangible and hands-on learning experiences, like using Sphero SPRK, in programming education to make it accessible and engaging for learners of all levels.The positive outcomes demonstrated the potential of Sphero SPRK as an assistant programming tool to enhance learning outcomes and overcome challenges in programming education.

EXPERIMENT DISCUSSION
The research experiment focuses on programming language comprehension and program learning.The Sphero quiz was applied to two groups: Group A included those participants who used the Blocks with the assistance of the Sphero SPRK robot.Group B included those using JavaScript code with the assistance of the Sphero SPRK robot.The data was first analysed through the comments presented in Table 2.The majority of participants reported that learning programming was straightforward when utilising the Sphero robot, especially when studying programming logic and learning innovative coding techniques.Students expressed great satisfaction with this experience and said that using blocks rather than text-based coding made it simpler for them to learn and comprehend programming logic and its principles.This supports the finding by [12] that language is not a good way to start teaching programming and the indication by [14] that a focus should instead be put on critical thinking skills.The experiment feedback also included some suggestions for improving the experiment design in terms of including a brief text explanation for each option in the Sphero Edu App and adding more explanation to some programming topics especially variables, loops, and methods.This supports the assertion by [26] that these are still important skills to learn, even when there is less focus on language.Indeed, this is supported by looking at the data in Table 1, which indicates that despite a downturn in the number of syntax and semantic problems that students encountered, there is still a desire to address problems relating to programming logic such as loop statements and condition statements.Also, some of the participants reported that they should avoid relying only on Sphero because this may make novices think that programming is simpler than it is in reality.In a way, this supports [16] in indicating the importance of problem-solving skills to the problem and also [27], which indicates that despite the use of these novice languages, the most common industry language is still Java and that eventually students will need to learn this language to be competitive in the industry.Specific qualitative comments also support the data found in the literature review.For instance, comments such as how useful the blocks are and how easy they are to understand support the assertions by [9] and [17] about using these tools to understand complex concepts.Overall, in addition to the feedback obtained from participants, observation also generally showed that participants in Group A, who were using the Block method, advanced progressively in performing their given quiz programme, whereas those in Group B, who used JavaScript codes, struggled.Group B participants could not design programmes correctly because they faced difficulties with some programming concepts (such as Syntax and Semantics in JavaScript).It's clear from this that using Sphero SPRK robot technology, and particularly block programming, as an assistant programming tool can encourage novice programmers to learn programming with minimal frustration, as learning is more flexible and can be used on their own mobile devices.This supports the assertions by [18] and [19] about how these technologies help with learning and the value of these actions in helping learners gradually build a programme and have exposure to programming logic without engaging in semantic errors that may confuse them in the early stages of learning.The semantic representation of the learning process with the Sphero SPRK robot and block-based programming: 1. Participants engage in the learning process by interacting with the Sphero robot.2. They use the Sphero Edu App on their mobile devices to access programming tools.3. Participants manipulate colored blocks representing code in the Blocks view.4. Optionally, they can also use JavaScript code in the Source view.5.The Sphero Edu App transfers the program instructions to the Sphero robot.6.The Sphero robot executes the program instructions and provides feedback to the participants.7. Participants actively learn programming language comprehension and program learning through this interaction.8. Participants provide feedback on the learning experience, including suggestions for improvement.9. Researchers analyze the comments and feedback from participants.10.Researchers derive findings from the analyzed data and compare them with existing research through a literature review.11.Recommendations are provided based on the findings and compared with prior research to enhance the learning process.12.The learning process continues, and participants can iterate through the steps to further develop their programming skills.This steps captures the key aspects of the learning process with the Sphero SPRK robot and block-based programming, focusing on the participants' interaction, feedback, and the role of researchers in analyzing data and providing recommendations.

CONCLUSIONS
This study provides a foundation for exploring educational robotics' potential in programming education.Understanding Sphero SPRK's impact can optimize programming pedagogy, preparing students for a technology-driven future.Addressing limitations and future research will contribute to advancing educational robotics, shaping skilled and innovative programmers.In this current study, we determined the utilisation of a robotic programming assistant that could be utilised to aid students explore programming in an interactive manner by assembling small elements to construct a whole model.This involved the use of a Sphero robot, a smartphone, and the Sphero Edu App, which is used to gather building blocks that lead to coding.In accordance to the observations, beginning programmers who implemented the blocks method in the Sphero Edu App made substantial advancements in their comprehension of the programming language.Future study is projected to concentrate on areas of the curriculum where conceptual difficulties necessitate a more comprehensive explanation.

Limitations:
Despite the promising findings, this study also has some limitations that should be acknowledged.This study's limitations include a relatively small sample size, potentially limiting generalizability.The controlled environment and focus on Sphero SPRK may not represent all educational robotics tools or settings.The study primarily targeted novice programming learners, leaving room for investigation at different skill levels.

Future Research:
Future research should employ larger and more diverse samples in longitudinal studies to assess long-term impacts.Comparative studies with various educational robotics platforms can elucidate their effectiveness.Integrating educational robotics into different programming languages and curricula can explore adaptability.Investigating educational robotics' impact on learners with diverse learning styles can ensure inclusivity.Interdisciplinary studies can demonstrate cross-domain problem-solving abilities, while integrating educational robotics with traditional methods can optimise learning experiences.

Figure 1 :
Figure 1: Sphero SPRK robot technology One of the Sphero features is that it can convert blocks into a text JavaScript program (see Fig 2.).The visual programming environment utilizes the Sphero EDU app, powered by Scratch, to program robots.The platform involves "blocks" that contain snippets of code, which users connect using the app.Users can manipulate these blocks visually in the blocks view editor, where colored graphical blocks represent code.Additionally, the editor provides a source view that presents a textual representation of the program for editing purposes.This combination of a visual editor and the Sphero EDU app offers a versatile programming experience, combining visual blocks and Scratchbased coding for robot programming.

Figure 2 :
Figure 2: Text code associated with a block program.