Content area
At the beginning of the 21st century, it is unacceptable for students not to master the basics of algorithms during their secondary school studies, moreover, not to understand the basic concepts of programming and program development. This article and presentation present the necessary results of our two researches. In our first research, the level of IT knowledge has been measured at Hungarian secondary vocational schools in Slovakia, focusing mainly on the concepts of programming and OOP knowledge. Our survey focuses on how familiar students are with basic terms of OOP such as: class, object, object-oriented programming, method and inheritance. The results are rather disappointing. We did a research related to the IT skills of students. From the results of the survey, we determined which educational methods we should use for reaching better results. It was created a set of courses for teaching OOP using the recommended educational methods, as well as we did a literature research regarding teaching and visualizing OOP. While teaching we used a visual application developed by one from authors of this article. The aim of developing the software was to create a visual environment that easily and playfully introduces the key concepts of OOP programming. At the end of the courses we proved that the visual application greatly increases the efficiency of learning and understanding the concepts of programming. Furthermore, the students' problem solving ability can be developed by the introduction of the visual methods. The developed application and the introduced method help the practical training of programming, and the students' programming skills.
Abstract: At the beginning of the 21st century, it is unacceptable for students not to master the basics of algorithms during their secondary school studies, moreover, not to understand the basic concepts of programming and program development. This article and presentation present the necessary results of our two researches. In our first research, the level of IT knowledge has been measured at Hungarian secondary vocational schools in Slovakia, focusing mainly on the concepts of programming and OOP knowledge. Our survey focuses on how familiar students are with basic terms of OOP such as: class, object, object-oriented programming, method and inheritance. The results are rather disappointing. We did a research related to the IT skills of students. From the results of the survey, we determined which educational methods we should use for reaching better results. It was created a set of courses for teaching OOP using the recommended educational methods, as well as we did a literature research regarding teaching and visualizing OOP. While teaching we used a visual application developed by one from authors of this article. The aim of developing the software was to create a visual environment that easily and playfully introduces the key concepts of OOP programming. At the end of the courses we proved that the visual application greatly increases the efficiency of learning and understanding the concepts of programming. Furthermore, the students' problem solving ability can be developed by the introduction of the visual methods. The developed application and the introduced method help the practical training of programming, and the students' programming skills.
Keywords: Teaching OOP; Visual devices.
INTRODUCTION
Today's operating systems and development environments apply the principle of OOP. Therefore, today's developments are inconceivable without the usage of OOP. The knowledge and usage of OOP and the related system development methods are essential mainly for experienced programmers and developers. Consequently, teaching computer science and programming needs to be based on OOP. OOP can be avoided in case of teaching basic computer skills; however, it is an essential part of teaching programming. It is generally known - based on teaching experiences - that teaching traditional sequential programming is facing difficulties. Moreover, teaching OOP, that is closer to reality, is even more difficult. The reason for its difficulty is the fact that further theoretical and modelling skills would be required, but the traditional sequential programming principles should be taught as well.
As an IT teacher lot of questions arise such as the level of the information technology in Slovakia as well as the education of programming; on what knowledge level are the students who come from elementary school to the secondary school or trade school which ends with a school leaving exam; what do they think about their own knowledge of informatics; on what level of knowledge do they finish their studies and what kind of knowledge will they use in their higher education as well as in future jobs. These questions are not easy to answer. Teaching programming, and within that OOP is extremely difficult and we have to find out the reason why. That's why the topic of the doctoral dissertation of J. Udvaros (developed under the supervision of V. Stoffova) was to assess the current situation of teaching information technology for students in Slovakia [15]. Based on the results of the survey we will be able to see what kind of methods should we use to achieve better results. By using the advised methods was for teaching created own interactiv, demonstrativ courses on the base of researched literature connected to teaching and visualization of OOP. At the end of the course, was proved by another survey that the student's ability to understand and acquire the object-oriented programming language and the efficacy of teaching programming can be improved with the use of the visualization application. The student's modelling and problem-solving ability can be improved by this new visualization and gamification method. This application and method help the practical education and they increase the student's programming skills.
I.ANALYSIS OF THE LEVEL OF IT SKILLS OF HUNGARIAN SECONDARY SCHOOLS IN SLOVAKIA
In my first research, we wanted to survey students' programming skills [14]. The survey was conducted with an online method, as we wanted to get as many students' opinions as we can. The most effective way to achieve our goal was an online questionnaire. Our request was sent to participate in our research to almost all Hungarian schools in Slovakia. When compiling the survey the issues we weren't only focused on relating to programming, but we wanted to know the students' general computer using habits as well.
Based on the results of our survey It could be claimed that teaching OOP at Hungarian secondary schools in Slovakia was at a very low level. When examining the causes of the poor results we realized that:
* The National Curriculum doesn't require teaching OOP and the number of lessons per week for programming was not enough,
* The teachers didn't have the right OOP skills,
* The teachers didn't have right didactical and visual teaching materials,
* The students didn't interest for OOP and they thought it's very difficult and abstract,
* A big part of students didn't have proper logical thinking.
To increase knowledge about OOP, I recommend using a combination of teaching methods and gamification.
II.EXAMINING THE EFFECTS OF THE APPLICATION IN SLOVAKIAN HIGH SCHOOLS
In our previous research, by a survey of OOP knowledge, we examined the knowledge of keywords such as class, object, object-oriented program, method, and inheritance. When evaluating the answers, we got a very weak result. Based on the results of the survey we deducted that the education of OOP in Hungarian secondary schools in Slovakia is at a poor level. When analyzing the weak results, we came to the conclusion that it is not sufficient to only increase the number of IT lessons a week, but that a strategy needs to be developed (and accompanying methods and methodology) and that these teaching methods need to be supplemented with the following three elements: visualization [17], gamification and e-learning. Next to these a well-built [16] application is also needed, with the use of which education will be more effective. The research was also based on this method and the effectiveness of the application. Compared to our previous study, as a further step next to measuring the use of the application, we also measured how much the understanding of OOP developed among the students, and proved the defined hypotheses. For the second research it was created the application. The used program was not in its final version, it's only a test version which is meant to either prove or disprove hypotheses. The goal of this research was not to create a complex tool but to show what kind of tool needs to be developed and for what age category. The program is primarily meant for high school students, where the students will use it with the guidance of their teachers.
2.1Surveying the effectiveness and applicability of the developed software in education
Before the survey the student's knowledge was close to zero, because during their prior education they have not studied object-oriented programming. For the purpose of this research we organized a course for the students. We divided the students into two groups: half the students were familiarized with OOP concepts using the visualization application while the other half did not. The groups taking part in testing were comprised of students with varying levels of preparation, so that we could test how much the software application is helping education. This is why in both groups there were students with weaker, intermediate and stronger capabilities, compared to the base sample. The survey was conducted in the Kodály Zoltán Gymnasium in Galanta, as well as the Jedlik Ányos elcetrotechnical trade school in Nové Zámky, since in Slovakia, the education of object-oriented programming only happens in very few schools. The survey was conducted using 167 students, from which 79 used the application, and 88 did not [18]. During the survey we asked theoretical and practical questions, with which we could better measure the students knowledge.
2.2Comparing the average results of the experimental and control groups
The experimental group is marked with a 1 in the Student column, while the control group is marked with a 0.
When examining the knowledge of the concept of an object, the students that did not use the application (control group) had a 2,375 average, while the other group had an average of 4,329.
When examining their practical knowledge students needed to give an example for an object, the averages here were 2,852 and 4,823, and the students with a better average were the ones who used the application. When correcting the answers, it was very easy to see what kind of example a teacher explained the object term on. On the "Why do we need modelling?" the students from the experimental group had an average of 4,696 while the control group had 2,932. The connection between reality and a model was understood by the students using the application (experimental group) at a 4,734 average, while the control group had an average of 2,864. Less students knew how to give practical examples, than they knew how to answer the theoretical questions. In this case the averages were 4,759 and 2,341. Using the visualization application, which contains game like elements as well, the students' knowledge of modelling and practical use can be significantly increased.
When surveying the knowledge of the concept of generalization, the experimental group had an average of 4,810 while the control group had 3,000. When we asked for an example of generalization, we were met with a larger retrogression. The averages here were 4,734 and 2,455. When surveying the knowledge of the concept of classes, the groups had an average of 4,696 and 2,477, respectively. In the following question students had to give an example for the difference between a class and an object. The experimental group had a better result (4,544) than the control group (2,511). "What do you call the attribute where a specific element gets an attribute of a more general element?" For the question above, students should have answered inheritance, which they did on average of 4,633 and 4,511. After these students needed to give an example for inheritance. For the "Can two objects from one class exist with different parameters?" question, students needed to give a yes or no answer, here the difference between results are negligible. Its significance in practice was better explained by students from the experimental group. With the program recognition, the difference in results was once again negligible. When examining the concept of abstraction, the experimental group had an average of 4,354, while the control group had an average of 4,023. When examining the results it can be seen that the student group that used the application had better results on all of the questions.
In the second step we examined one-by-one if there was any connection between the results of the answers given by the experimental and control groups. During the examination we determined the Pearson correlation coefficient - which measures the strength of the connection between two metric variables - using the IMB SPSS Statistics 22 statistics software.
For questions 1-9, 11 and 13 we can see in the chart that the experimental group (those who used the application) have a higher value attributed to their answers. These values show a very strong positive connection. The hypothesis evaluation also confirms this, since the significance is 0,000. Meaning that in the case of these questions, the students gave better answers than the control group (those who did not use the application).
In the case of the 10th question (What do you call the attribute where a specific element gets an attribute of a more general element?) there is no significant difference between the two groups.
In the case of questions 12, 14 and 15 the relationship between what group a student belongs to and their answers is very miniscule. This result was expected due to the nature of these questions.
2.3Evaluation and analysis of the experiences of the research
In favor of developing a new approach to education and proving the hypothesis, we created a survey which examines the level of computer science education in Hungarian high schools in Slovakia. It is visible by our survey that the level and number of classes of computer science education in elementary and high schools is not convenient. The students in many instances grow by their own experiences, they don't get proper support in school. Our survey showed that the programming knowledge, which is really important in training creative computer scientists, by the way, is really low-level and new approaches rarely occur in the education. We gained affirmation based on the survey that there's a very high need for creating an education method that helps the effective training of OOP and programming for the members of Z-generation. Henceforth, we would like to solve this with the help of e-learning, gamification and an application [16]. In favor of making OOP more efficient, we made an experiment which happened with the help of a program and carried out a survey. By the score of our results the program helps to understand the concept of class, object, inheritance fast, thus the students with minimal programming base can deepen their knowledge with the help of the visualization. It can be clearly seen from the results of the survey that the results do not particularly change at the theoretic concepts, rather the pragmatism improved hereby the programming, modelling skill improved. For the students who had the chance for individual practice with the application, the difference between the object and the class became more clear. These results are especially important because programming is a practical problem which happens in groups or in private as well, the practical skill plays a particularly important role. We can say that with the help of the illustrative tools teaching object-oriented programming can be far more efficient.
III.CONCLUSIONS
The education of programming is a tough job, especially due to the reduced number of classes, partly to the preparedness of the students. We wanted to give a solution method in the article for a pedagogic problem appeared in practice. We came up with a solution based on visualization and gamification for this and we verified it with the help of a simple application that the education becomes significantly more efficient with the help of a tool like this. The students deepened their OOP practical knowledge with the help of the method. With the use of the playful elements, we achieved the students to view the educational-visualizer program as a small simple game and to pick up the curriculum in the meantime. The program examined only the main elements. We would like to develop the program further, on one hand, create a web solution as well as make the visualization more exciting and use more gamification elements. Moreover, we would like to show the cooperating potential of OOP better, present the different visibility elements and animation [16] as well as the virtual and the class attributes, resp. visualize methods.
Acknowledgements
The paper was supported by project KEGA 012TTU-4/2018 "Interactive animation and simulation models in education".
Reference Text and Citations
[1] Wing, J. (2006). Computational thinking. Communications of the ACM, 49 (3), 33 - 35. http://dx.doi.org/10.1145/1118178.1118215. International Society for Technology in Education and the Computer Science Teachers Association. (2011). Operational definition of computational thinking for K12. http://csta.acm.org/Curriculum/sub/CurrFiles/Comp ThinkingFlyer.pdf.
[2] J.-M. Sáez-López et al. (2016). Visual programming languages integrated across the curriculum in elementary school - A two year case study using Scratch infive schools. Computers & Education 97, 129-141 p.
[3] Andrew P. Black, (2013). Object oriented programming - Some history and challenges for the next fifty years. Information and Computation 231, pp. 3 - 20.
[4] K. Nygaard, O. - J. Dahl, (1981). The development of the SIMULA languages, in: R. L. Wexelblat (Ed.), History of Programming Languages I, ACM, New York, NY, USA, pp. 439 - 480.
[5] R. Horváth - S. Javorský, (2013). New Teaching Model for Java Programming Subjects, 5th World Conference on Educational Sciences - WCES 2013. Procedía - Social and Behavioral Sciences 116 (2014), pp. 5188 - 5193.
[6] S. Xinogalos - M. Satratzemi ,- V. Dagdilelis, (2006). An introduction to object-oriented programming with a didactic microworld: objectKarel, Computers & Education 47, pp. 148-171. Bergin, J. - Stehlik, M. - Roberts, J. - R. Karel J. Robot a gentle introduction to the art of object oriented programming in Java. Unpublished manuscript. http://csis.pace.edu/~bergin/KarelJava2ed/Karel++ JavaEdition.html
[7] R. Biddle, E. Tempero, (1998). Teaching programming by teaching principles of reusability, Information and Software Technology 40, pp. 203-209.
[8] L. Végh - V. Stoffová, (2016). An interactive animation for learning sorting algorithms: How students reduced the number of comparisons in a sorting algorithm by playing a didactic game. TMCS 2016/14/1 (4) - pp. 45-62.
[9] Cross, J. H., T. D. Hendrix, J. Jain and L. A. Barowski (2007). Dynamic object viewers for data structures, in: Proceedings of the SIGCSE 2007 Technical Symposium, pp. 4-8.
[10] Hansen, S. R., N. H. Narayanan and M. Hegarty (2002). Designing educationally effective algorithm visualizations: Embedding analogies and animations in hypermedia, Journal of Visual Languages and Computing 13, pp. 291 - 317.
[11] Udvaros J., Gubán M. (2016). Szlovákiai magyar középiskolások informatika-tudásszintjének elemzése az objektumorientált programozás oktatásának kialakítására, In: Alkalmazott Tudományok III. Fóruma, Editor Csillag Sára, Budapesti Gazdasági Egyetem, 2016. pp. 851-879. ISBN:978-963-7159-23-7, pp. 851-879.
[12] Udvaros J., Gubán M. (2016). Demonstration the class, objects and inheritance concepts by software. ACTA DIDACTICA NAPOCENSIA 9:(1) Paper 3., ISSN 2065-1430
[13] Avornicului M. (2016). Bevezetés a számítógépek programozásába, Ábel kiadó Kolozsvár, ISBN 978-973-114220-3
[14] Udvaros J. (2016). The investigation of OOP helper application effects in Slovakian secondary schools. Journal of Logistic - informatics - management 2016, volume 2016/1, ISSN 2498-9037.
[15] Udvaros J. (2018). The role and possibilities of digital technologies in the teaching of programming. (PhD Theses), Eötvös Loránd University, Faculty of Informatics, Budapest, Hungary.
[16] Végh, L. (2011). Animations in Teaching Algorithms and Programming (Animácie vo vyučovaní algoritmov a programovania). Paper presented at the Nové technologie ve vzdělávání, Olomouc, CZ
[17] Stoffa, V. (2004). Modelling and simulation as a recognising method in the education. Educational Media International, 41(1), 51-58
Copyright "Carol I" National Defence University 2019