Robotic constructor as a means of teaching C++ programming to high school students
- Authors: Eliseev A.V.1
-
Affiliations:
- Moscow City University
- Issue: Vol 21, No 3 (2024)
- Pages: 297-307
- Section: TEACHING COMPUTER SCIENCE
- URL: https://journals.rudn.ru/informatization-education/article/view/42314
- DOI: https://doi.org/10.22363/2312-8631-2024-21-3-297-307
- EDN: https://elibrary.ru/RUAUFX
Cite item
Full Text
Abstract
Problem statement. This paper considers and substantiates approaches to solving the problem of insufficient development of methods for teaching C++ programming to high school students in a computer science course using the VEX EDR robotic constructor. The use of robotic constructors in the school computer science program can significantly improve the process of teaching programming by providing tasks with a practical bias. It also contributes to the development of students’ skills of mutual interaction and independent decision-making, allows to reveal their creative potential in design and design-research activities, and increases their interest in learning computer science, which is especially important in today’s technologically oriented society. The aim of this study is to develop the components of a methodical system for teaching high school students programming in C++ using the VEX EDR robotic constructor and to test the effectiveness of the proposed methodics. Methodology. To achieve the goal, the method of analyzing scientific and methodical sources and normative documents that deal with the problem of teaching programming to high school students within the framework of the computer science course was used. The experimental research was carried out with the participation of two groups of schoolchildren. The control group was taught the topic “Linear Algorithm” in the traditional presentation of the textbook by K.Yu. Polyakov and E.A. Eremin (10-11th grade). The experimental group was taught this topic using the same textbook, but applying a robotic constructor, the developed system of tasks, and methodical recommendations . Results. In the course of the study, it was found that the implementation of the formed components of the methodical system of teaching high school students programming in C++ using the robotic constructor VEX EDR allowed to increase the effectiveness of teaching high school students programming of real performers working ‘in the environment’ . Conclusion. The effectiveness of the developed components of the methodical system of teaching high school students programming in C++ using the VEX EDR robotic constructor has been experimentally proved.
Full Text
Problem statement. In the modern world, where technologies occupy an increasingly important place, learning programming becomes an integral part of the school program. C++ programming is one of the most demanded and popular competencies in IT. However, it can be difficult for high school students to understand the abstract concepts of this language [1, p. 3]. In this paper, we consider the contradiction between the mastering of programming by high school students only using virtual executors, despite the huge potential of robotic tools for teaching programming, and the insufficient educational and methodical support for teaching high school students programming using robotic constructors - real executors working ‘in the environment’ [2; 3]. Let us analyze the evolution of approaches to teaching programming in the school course of computer science [2, p. 160]. In the late 1960s, the American educational psychologist S. Peipert created the LOGO programming language, which is considered to be the first programming tool that made it possible to teach algorithmization and structural programming methodology. Later, A.G. Kushnirenko, G.V. Lebedev and Ya.N. Zaidelman[5] develop the ideas of teaching programming with the use of educational executors, which were laid down by A.P. Ershov[6] and S. Peipert. In the textbook, A.G. Kushnirenko and his co-authors consider algorithms of computational nature, which are designed for such an executor as a computer. They include tasks of processing numerical and symbolic information, for example, processing arrays, lettered strings, calculating a numerical sequence and so on. In the textbook by L.G. Gain and A.I. Senokosov[7], the algorithmic line of the school course of computer science is realized in two directions: application of executors working ‘in the environment’ and construction of algorithms of computational character for solving problems of mathematical modeling. There are also computer science textbooks that do not use and do not consider educational executors. For example, in the textbook of V.A. Kaimin[8], the section of algorithmization is dedicated to only one executor - the computer. In the textbook by A.A. Kuznetsov and others[9], the part of algorithmization is omitted, and the study of programming begins with acquaintance with the Pascal programming language. The application of the programming language is shown on examples of tasks of computational nature, tasks on construction of images and tasks on processing of strings. The textbook by I.G. Semakin and others[10] uses a cybernetic approach. This approach introduces a new content line, no less important than the control line, into the educational process. In order to comply with the principle of content invariance, a hypothetical educational performer GRIS is used. Thus, having considered the textbooks of such authors as A.G. Kushnirenko, A.P. Ershov, L.G. Gain, V.A. Kaimin, A.A. Kuznetsov, and I.G. Semakin, the following approaches to teaching algorithmization and programming were identified: structural, cybernetic, and activity-based. It can be seen that with the development of computer science, the approach to teaching algorithmization and programming has changed a lot. Successful teaching of programming requires the search and development of additional teaching methods, changes in the form of presentation of material, as well as means to increase the motivation of students. One of the options for solving this problem can be the use of robotic constructors. A robotic constructor is a set of various parts and electronic components that can be used to create a variety of robots. Due to its modular structure and simple interface, this constructor allows students to learn quickly the basics of programming and apply the knowledge gained in practice. The components are connected to a computer or microcontroller with the help of special software that allows writing C++ code to control the robot [4]. The composition of the extended set of the VEX EDR robotics builder is shown in Figure 1. Using a robotic constructor as a tool when teaching C++ programming has several advantages. First, creating a physical object is a visual proof that the written code works correctly. This helps students better understand abstract programming concepts and increases their motivation to learn C++. Second, working with robots requires teamwork and collective development of the project that promotes teamwork skills and develops students’ social skills [5, p. 157]. Figure 1. Extended VEX EDR robotics construction kit Source: http://vexacademy.ru/vex-edr-info.html Methodology. In this study, we modeled the computer science teaching methodology for the use of constructor robots in C++ programming classes in secondary schools. During the modeling process, all important methodical aspects of contemporary approaches to teaching computer science in secondary schools were considered [6, p. 75]. A general idea of the main components of the proposed model can be obtained from Figure 2. The presented model reflects the blocks and components of the methodical system of teaching C++ programming with the use of robotic constructors to Figure 2. Model of the methodical system of teaching high school students programming in C++ with the use of robotic constructors Source: created by Anton V. Eliseev high school students, as well as their interrelationships. The model includes five main blocks: “Programming in C++ using the VEX EDR robotics builder in a computer science”, “Objectives”, “Content of computer science education”, “Methods of teaching computer science”, “Means of computer science education”. The central block “Programming in C++ using the VEX EDR robotics builder in a computer science” displays the relationship between C++ programming technology and the use of robotic constructors in teaching C++ programming as an object of study and subject of research. This block is related to the goals of robotics application, methods of teaching computer science, conditioned by the described approaches to the use of robotic constructors in teaching programming to high school students within the framework of the computer science course[11] [6, p. 95; 7], the content of computer science teaching as well as the means of teaching computer science. In the “Objectives” section, the main objective is to introduce robots as constructors in programming courses for high school students in the framework of computer science education. The corresponding pedagogical goal will be achieved through the realization of interrelated regional tasks: introduction of programming lessons for secondary school students in the context of computer science education and increasing the effectiveness of computer science education in schools in the context of programming lessons for secondary school students. The “Methods of teaching computer science” section reflects the interrelationship of six basic approaches determined by the use of robot builders in programming instruction for high school students[12] [8]. The block “Content of computer science education” includes the selected material of the basic school computer science course, in which there is a feasibility of using robotic constructors in teaching high school students to program in C++ language within the framework of the computer science course as an object of study and (or) a teaching tool [3]. In the described model, the “Means of computer science education” block includes cognitive tasks, hardware and software, robotic devices and models for learning the basics of algorithmization and programming in the school computer science course [3; 8]. Such a system of cognitive tasks includes both tasks aimed at teaching programming and tasks based on the use of robotic constructors. The proposed model serves as a basis for developing specific components of the methodical system of teaching C++ programming to middle and high school students using robotic constructors [1; 2; 9; 10]. This was necessary for the experimental testing of the research hypotheses [11-13]. In the experimental testing, two groups of students were presented with a task requiring a detailed answer in the form of program code. The control group consisted of a part of the class (9 students in total) who were taught “Linear Algorithms” in the traditional way according to the textbook by K.Yu. Polyakov and E.A. Eremin (10-11 grades)[13]. The experimental group also included 9 students who studied the topic “Linear Algorithms” using the same textbook, but applying robotic constructors, developed task systems and methodical recommendations. The case contained a task aimed at testing the ability to create one’s own programs (20-40 lines) for analyzing numerical sequences. The task is considered to be completed correctly if the answer is written in the form specified in the instructions for the task and fully coincides with the standard answer. The evaluation criteria are written together with the task, which helps students to distribute their efforts and time while writing the work (Table 1). The case offers a task with an attached file, and for its fulfillment a computer with an operating system, spreadsheet editors, text editors, C++ programming environment installed on it is required. The maximum number of points that can be obtained for the case is 13. Evaluation criteria are as follows: - mark “2” - from 0 to 4 points; - mark “3” - from 5 to 7 points; - mark “4” - from 8 to 10 points; - mark “5” - from 11 to 13 points. Table 1 Correlation of the evaluation criteria with the maximum number of points No. Maximum number of points Evaluation criteria 1. 3 Error-free operation of the program written in the programming language 2. 2 Compactness of the written program 3. 3 Observance of indentation and tabulation (no extra spaces) 4. 3 Correct use of the syntax of the programming language 5. 2 Correct use of classes from libraries to work with the file Source: compiled by Anton V. Eliseev. Results and discussion. The results of the study in the control and experimental groups are presented in Table 2. The table shows the number of points scored by students and the corresponding grade according to the evaluation criteria. The results of assessing the level of knowledge and skills of students in the experimental and control groups are summarized in Table 3. Based on the data presented in Table 3, it is possible to note the differences between the control and experimental groups in mastering knowledge and acquiring skills, with the experimental group showing better results. The Wilcoxon-Mann-Whitney criteria was calculated to statistically substantiate the hypothesis taking into account the experimental conditions. The data for calculating the U-criteria are given in Table 4. Table 2 Results obtained by the control and experimental groups Control group Experimental gro up Student’s No. Number of points Mark Student’s No. Number of points Mark 1. 11 5 1. 12 5 2. 5 3 2. 11 5 3. 2 2 3. 10 4 4. 7 3 4. 13 5 5. 7 3 5. 9 4 6. 6 3 6. 13 5 7. 4 2 7. 7 3 8. 9 4 8. 7 3 9. 9 4 9. 9 4 Source: compiled by Anton V. Eliseev. Table 3 Number of marks received by the participants of the control and experimental groups Mark Control group Experimental group 2 2 0 3 4 2 4 2 3 5 1 4 Source: compiled by Anton V. Eliseev. Table 4 Calculation of the Wilcoxon-Mann-Whitney U-criteria No. Sample 1 (control group) Rank 1 Sample 2 (experimental group) Rank 2 1. 11 14.5 12 16 2. 5 3 11 14.5 3. 2 1 10 13 4. 7 6.5 13 17.5 5. 7 6.5 9 10.5 6. 6 4 13 17.5 7. 4 2 7 6.5 8. 9 10.5 7 6.5 9. 9 10.5 9 10.5 Total: 58.5 112.5 Source: compiled by Anton V. Eliseev. Result: Uempirical value = 13.5 The range of obtained critical values: from 15 to 22. The axis of significance has the following form (Fig. 3). The obtained empirical value (Uempirical value = 13.5) is within the zone of significance. Therefore, the obtained results can be considered significant and reliable. Thus, we can make a statistically justified conclusion that the use of the VEX EDR robotic constructor in teaching high school students programming in C++ at computer science lessons allows to increase the effectiveness of learning, develop and deepen the programming knowledge of real executors working ‘in the environment’ of high school students. Figure 3. Zone of empirical value for the indicators obtained during the experimental work Source: created by Anton V. Eliseev. Conclusion. We can state that the carried out research shows that the developed model for teaching C++ programming to secondary school students using the Robot Constructor improves the effectiveness of teaching secondary school students to program real executors working ‘in the environment’ and also serves as a basis for the direct development of its components.About the authors
Anton V. Eliseev
Moscow City University
Author for correspondence.
Email: eliseevav@mgpu.ru
ORCID iD: 0009-0003-4581-9212
SPIN-code: 3826-9890
PhD student, Assistant at the Department of Education Informatization, Institute of Digital Education
4/1 2nd Selskokhozyaystvenny Proezd, Moscow, 129226, Russian FederationReferences
- Gharbia M, Chang-Richards A, Lu Y, Zhong RY, Li H. Robotic technologies for onsite building construction: A systematic review. Journal of Building Engineering. 2020;32. https://doi.org/10.1016/j.jobe.2020.101584
- Veksler VA. Educational robotics: basics of programming VEX IQ constructors in RobotC language. NovaInfo.ru. Pedagogical Sciences. 2017;75:159–165. (In Russ.)
- Levchenko IV. Methodological training of a teacher to use information technology tools in lessons. Vestnik of Moscow City University. Series: Informatics and Informatization of Education. 2007;8:62–67. (In Russ.)
- Eliseev AV. Teaching programming using robotic constructors in the school course of computer science. In: #ScienceJuice2021: Collection of Abstracts of the Student Open Conference. Moscow: Paradigma; 2021. p. 78–81.
- Makarov IM, Topcheev YuI. Robotics: history and prospects. Moscow: Nauka, MAI; 2003. (In Russ.)
- Grinshkun AV. Technology of augmented reality as an object of study and a means of learning in the course of computer science of the basic school (dissertation of Candidate of Pedagogical Sciences). Moscow; 2018. (In Russ.)
- Ou Yang F-C, Lai H-M, Wang Y-W. Effect of augmented reality-based virtual educational robotics on programming students’ enjoyment of learning, computational thinking skills, and academic achievement. Computers & Education. 2023;195. https://doi.org/10.1016/j.compedu.2022.104721
- Levchenko IV. Application of methodical means for the organization of algorithmic activity at the lessons of informatics in the basic school. Informatics and Education. 2006;2:107–112. (In Russ.)
- Delgado JMD, Oyedele L. Robotics in construction: A critical review of the reinforcement learning and imitation learning paradigms. Advanced Engineering Informatics. 2022;54. https://doi.org/10.1016/j.aei.2022.101787
- Kondratyeva VA. Teaching the basics of programming in the Python language in the school course of computer science. Vestnik of Moscow City University. Series: Informatics and Informatization of Education. 2021;1(55):8–16. (In Russ.)
- Ushinsky KD. Labor in its mental and educational significance. Selected works. Moscow: Yurait; 2017. (In Russ.)
- Angeli Ch. The effects of scaffolded programming scripts on pre-service teachers’ computational thinking: Developing algorithmic thinking through programming robots. International Journal of Child-Computer Interaction. 2022;31. https://doi.org/10.1016/j.ijcci.2021.100329
- Moraes de Carvalho J, de Magalhães Netto JF. Currents trends in use of collaborative learning in teaching of robotics and programming – A systematic review of literature. In: Proceedings of the 2020 IEEE Frontiers in Education Conference, 21–24 October 2020, Uppsala, Sweden. IEEE Press; 2020. p. 1–8. https://doi.org/10.1109/FIE44824.2020.9273950