Early education in new technologies such as robotics and programming is emerging as an option in many primary schools, and its popularity is on the rise. However, currently, there is a significant disparity between areas, schools, and families in access to this type of education. In most cases, resorting to private extracurricular classes is necessary if elementary school students are to acquire these skills.
1. Introduction
While traditional classroom activities have played a crucial role in mitigating educational gaps, substantial challenges persist, hindering widespread access in various regions, schools, and family environments
[1]. Despite concerted efforts, the need to innovate in educational approaches beyond the limitations of conventional classrooms is evident, and this research aims to contribute to this need. The existing literature recognizes the importance of classroom interventions; however, it consistently highlights persistent disparities in programming education, emphasizing the need for multifaceted strategies
[2][3][4][5][6]. This research positions itself as a bridge to overcome this educational gap by delving into the effectiveness of home learning. It strives to provide nuanced insights into the central role parents can play in developing their children’s programming skills, an aspect that can be highly relevant in contemporary educational discourse
[7][8]. In doing so, this study aims to move beyond the conventional paradigm of programming education, focusing on family and home learning environments as powerful contributors to fostering a more equitable distribution of programming skills among elementary school students. This research may gain further relevance due to demographic trends in certain areas, especially in Europe, where families increasingly consist of one or two children
[9]. The significance of this demographic pattern lies in its implications for educational dynamics, as smaller family sizes can amplify the role of parental involvement in the learning process
[10][11]. The subsequent focus on home teaching is both pragmatic and contextually significant.
To facilitate effective home teaching, a comprehensive guide has been meticulously developed. This guide serves as a pedagogical tool, introducing elementary school students to the intricacies of video game creation using the Scratch program
[12], a block-based programming language designed for educational purposes. The deliberate choice of Scratch is derived from its suitability for beginners and its alignment with educational objectives, fostering a practical and creative approach to programming learning
[13][14].
2. PC Usage
The fact that most students today are more familiar with the use of tablets and mobile devices rather than desktop PCs
[15] posed the first challenge of this research. Although there is a version of Scratch for mobile devices, it was decided that the introduction to programming learning would be carried out through a PC to analyze the student’s transition to other platforms. The challenges encountered around PC usage during the teaching process are multifaceted:
Mouse and Keyboard Handling: Students accustomed to using tablets and touch devices may face difficulties in adapting to the use of a computer mouse and keyboard. It might take them some time to develop the fine motor coordination necessary to handle the mouse precisely and use the keyboard efficiently.
Familiarization with the PC Environment: A student who has been homeschooled may not be as familiar with the computer environment, including how to navigate the operating system, open and close programs, and manage files and folders.
Keyboard Shortcuts: Keyboard shortcuts are an efficient way to interact with a computer and perform quick actions. Introducing the student to the use of keyboard shortcuts may require time and practice for them to incorporate them into their workflow.
Internet Search: Although students are increasingly exposed to technology, it is important to teach them safe and efficient internet search skills. Identifying relevant and reliable information, as well as avoiding inappropriate sites, can be an initial challenge for the student.
The observed lack of computer skills among contemporary schoolchildren, despite their proficiency with smartphones and tablets, draws attention to the evolving landscape of technological familiarity. In the early days of introducing computer skills, the focus primarily revolved around familiarizing individuals with desktop PCs
[16][17]. However, the present scenario presents a noteworthy shift, with students now predominantly engaging with touch-based devices. This shift poses distinctive challenges, as evidenced by researchers' study. Unlike the era when computer skills were initially introduced, where desktop PCs were the primary interface, today’s students grapple with adapting from touch interfaces to traditional mouse and keyboard interactions
[18][19]. This transition highlights the evolving nature of the challenge, requiring a nuanced understanding of the multifaceted hurdles faced by students in developing the fine motor skills necessary for precise mouse handling and efficient keyboard usage. Furthermore, the need for familiarization with the broader computer environment, including operating systems and keyboard shortcuts, reflects the dynamic nature of the skills now essential for effective engagement in a digital learning landscape
[20].
3. Concepts of Mathematics and Logic
To introduce programming concepts, it is necessary to introduce new mathematical concepts to an elementary school student, which poses another challenge. Specifically, the necessary mathematical concepts are:
- ▪
-
Concept of Negative Number: Necessary for moving 2D objects along a coordinate axis, so the student must interpret coordinates (0, 0) as the center of the Scratch editing screen and moving left or down will be done with negative numbers.
- ▪
-
Object Concept: Understanding how objects interact in Scratch, representing specific entities in the program.
- ▪
-
Creation of Custom Objects: Learning to create and customize objects within the programming environment.
- ▪
-
Variable Concept: Understanding how variables store information and can be used in programs.
- ▪
-
Sequential Task Concept: Grasping the importance of organizing instructions in a logical sequence to achieve specific results.
- ▪
-
Event and Action Concept: Learning how events trigger actions in the program.
- ▪
-
Conditional Concept: Understanding how conditional decisions affect the program’s flow.
- ▪
-
Loop Concept: Grasping the repetition of actions through loops in programming.
- ▪
-
Function and Function Call Concept: Introduction to designing and using functions to organize and reuse code.
- ▪
-
Event Concept: Understanding how events can be used to interact with the user and control the program’s flow.