Content area
Computer games are nowadays very popular among various generations and it doesn't really matter which device they use to play them on. Creation and implementation of didactic computer games and the desire to create their own games are challenging to learn the programming for both, high school and university students. The article describes the problem and project teaching of programming at the university, where the theme of the project is "the implementation of didactic computer game of their choice. " The project can be realized in individual or in group form. Programming environment or programming language to implement the computer game is freely selectable. Students can work in any higher programming language with a rich graphics library, or they can use a programming environment that supports computer games creation. Depends on the skill of the programmers/developers/team members how to share the work. Can be individually addressed by the individual functional parts of the game, or work can be divided into separate layers. Each team member is engaged with him in what is good, for what who has better conditions to be successful and achieve a good result. E.g. one focuses on graphic design of game, next to the algorithms that express check compliance with the rules of the game, next member of team developing winning strategies, other looks at how the game stopped and resumed, how increases the difficulty level of the game as power play value and how the achieved good performance. Solving the project students learn to work in a team and practically use the knowledge from the field of software engineering.
Abstract: Computer games are nowadays very popular among various generations and it doesn't really matter which device they use to play them on. Creation and implementation of didactic computer games and the desire to create their own games are challenging to learn the programming for both, high school and university students. The article describes the problem and project teaching of programming at the university, where the theme of the project is "the implementation of didactic computer game of their choice. " The project can be realized in individual or in group form. Programming environment or programming language to implement the computer game is freely selectable. Students can work in any higher programming language with a rich graphics library, or they can use a programming environment that supports computer games creation. Depends on the skill of the programmers/developers/team members how to share the work. Can be individually addressed by the individual functional parts of the game, or work can be divided into separate layers. Each team member is engaged with him in what is good, for what who has better conditions to be successful and achieve a good result. E.g. one focuses on graphic design of game, next to the algorithms that express check compliance with the rules of the game, next member of team developing winning strategies, other looks at how the game stopped and resumed, how increases the difficulty level of the game as power play value and how the achieved good performance. Solving the project students learn to work in a team and practically use the knowledge from the field of software engineering.
Keywords: educational computer games; algorithms and programming; visualisation.
INTRODUCTION
The subjects of algorithmization and programming are considered to be challenging and difficult at all levels of educational system. All university study programs oriented towards IT technology, include also several subjects oriented to programming. The aim of the engineer course is to prepare capable programmers, who can skilfully program mathematical algorithms for solving the chosen problem with using numerical mathematical methods. In the theoretical and research-oriented studies within the subject of algorithmization and programming, it is important to look for the optimal solution, i.e. to develop new methods in the form of algorithms, to create new programming techniques and methods that are interconnected with their internal implementation and implementation on top hardware. Thus, it is important to develop students' algorithmic and programming thinking. In the case of (future) IT and Computer Science teachers, it is also important to learn the theory and practice of teaching computer science. There is programming in the centre of education of IT at primary and secondary schools. So, the role of teachers is not only to know the programming, but also to optimally and efficiently teach algorithmization and programming [18]. Motivation plays important role in every education [6, 7].
The specific objective of the contribution is to show that computer games and their production have proved to be a very powerful and effective motivational tool in teaching programming at all levels and forms of the education system, from elementary schools to universities [1, 2, 3, 5, 10, 15, 21]. Games and computer games in particular, are popular in both internal and external forms of education, in compulsory education as well as in voluntary courses of programming. Many, who like computer games learn to program, just to create them according to their own ideas. The implementation of computer game is a great idea for project teaching and for teaching which causes problems. Years of experiences and the researches show that both, beginners and advanced programmers consider computer game programming to be interesting and entertaining, so they can playfully acquire not only new knowledge but also other experiences and skills from the creation and implementation of software applications [13, 22].
I.A PLAYFUL AND COMPETITIVE FORM OF PROGRAMMING TEACHING AND LEARNING
After mastering the basics of programming in the chosen higher programming language, the development of the algorithmic and programmatic thinking of students at the higher level follows. When creating computer games (future) programmers get the space to link algorithm and programming into a compact unit. While the algorithm expresses the exact procedure for the problem solving, the program source code (i.e., the program itself) except algorithm (the rules) of the game, evaluation of performance of player, winning strategies include also skilful use of programming environment elements such as data structures for internal game representation, game status definition, player performance registration, a using a graphic library to create a user environment (GUI) etc. Whole classes can be organized in a playful, competitive way. The individual games form the themes of the projects that students solve individually or in groups. In this way, they can compete for the best graphic design, the most demanding game (rules, evaluation of performance or difficulty level), the best commented game, the most beautiful sounded game, etc. And finally, a competition for the best performance of each game can be organized, which has been ranked among the best and the most exciting games at the end of the term. Even these simple competition platforms can mobilize students for higher performance. Everyone desires to be better and placed as high as possible on the ranking list.
II.CREATION OF THE INTERACTIVE DIDACTIC COMPUTER GAMES
We often find subjects that are oriented to programming of interactive didactic computer games or didactic applications to support teaching. They are found on Computer Science Study programs of teaching IT. IT and Computer science teachers are most often asked to support the teaching of programming. Many students choose to switch to a second subject or they choose an intermediate subject. There are no requirements or limitations for the choice of programming language, programming environment, and other application creation tools. Some students choose confidential (well-known) tools, which they can use optimally. The students often choose the tools to create an application according to their suitability to solve the chosen problem. Experienced programmers combine the right tools so that the result is optimal and efficient. During the long (over 30 years) pedagogical practice, students have chosen many programming languages and environments for the creation of didactic applications [9, 14, 19, 20]. Since the creation of a graphical computer design, it was Pascal, C ++ with a graphical library, Delphi, Visual Basic, Imagine s Logo Motion, Visual C etc. Jhave, Jeliot, BlueJ, ALVIS Live!, Balsa-II, Polka etc. are the examples of present visualisation systems. Nowadays, animations are developed in Adobe Flash or HTML5/JavaScript. Many supporting environments and micro-worlds that are designed to create such applications can also be used to develop computer games. Unity in Scratch, JavaScript library v Java, Logo-Motion v Imagine, Game Maker etc. can be included as well [8, 11, 22, 23].
III.AN ENTERTAINING FORM OF ALGORITHMIZATION AND PROGRAMMING TEACHING
The teachers of programming are aware of the importance of understanding how the program works, what happens in the computer during the execution of the individual program commands, from what processor instructions the individual commands are composed of how the instruction and memory cycles run. It is very important to visualize these processes and look for an analogy between algorithmic control structures of the programming language and natural phenomena and processes that work the same or very similar. It is also very important to understand standard and non-standard types of data as well as data structures that serve for the representing of the solving problem, for the capturing of the solution and for expressing the result. A whole range of visualized algorithms, from the simple one to more complex, can be found on the "ide.sk" website. There are many other didactic animation and simulation models to support teaching and learning that present challenging themes of various subjects. Such didactic animation-simulation models are also available at https://phet.colorado.edu/en/simulation/legacy/moving-man. There, the didactic applications are oriented to natural sciences such as mathematics, physics, chemistry, biology, geography, and so on [16, 17].
3.1 Example of gamming of programming control structures
In this part, we want to introduce simple applications that were created to present the branching and cycling for beginners in programming at elementary school. The application was created in an HTML editor that contains Java scripts with animations of dynamic processes. The first page presents the theoretical knowledge of basic management structures. It also explains what the sequence, branching and repetition are. A separate part is about repeating of certain parts of the solution process (Cycles - the first menu on the top bar of the application). This option contains a description of cycles „for", "while" and "repeat - until". The extra offer contains 3 modules with examples for different types of cycles: Run around the stadium represents the cycle "for", Bunch of flowers shows the cycle "while" and Liquid heating demonstrates the cycle "repeat-until" [6, 9]. (See Figure 1.)
Run around the stadium - cycle „for"
In the following section, we will be dealing with interactive, visualized simulation models managed by parameters that were created using HTML, CSS, and JavaScript as a web page. This allows us to run these applications in web browsers. Simulations are intended to present the curriculum of selected thematic units from programming. The presented simulation game, „Run around the stadium" serves to explain and understand how the cycle, with a known number of repetitions, which is commonly referred to as the "for," works. In the Figure no.1, there is described the graphical environment for experimenting with a simulation model. The meaning of each part marked with digits is:
1. The description - serves to briefly explain the problem and its solution. It also contains basic instructions how to rule the simulations, how to change or enter the values of control variables.
2. The control panel - allows the user to insert a parameter into a command that loads a repeat value. This value indicates the number of laps that the runner has to run and the start of the given simulation by the button „start" (Spustiť).
3. The flowchart - serves to graphically illustrate the steps of the algorithm
4. Menu for selection of example of program command presentation - selection of animation and simulation model for study.
5. The code - the pseudo code of the program representing the steps of the cycle - program statement for cycle to solve selected problem.
6. The animation - shows the run of the runner around the stadium.
In this animation and simulation model, the output is seen in three forms: visualized running around the stadium, highlighting the current part of the code, and highlighting the progress of the flowchart at each step of the algorithm. You can control the simulation using the Start button. The graphical layout of each part of the application is shown in the Figure no.2. The display area consists of windows that display: animation, flowchart, algorithm source code, and window for input: number of repetitions ("Počet kôl") and button Start ("Spustiť").
The user (learner) sets the number of laps the runner has to run around the stadium to execute the simulation experiment. The runner activity can be tracked on a visualized simulation model, or in the form of an algorithm, where some of the commands that are being done are lit up during the animation, or, on the flowchart in which, as in the program, the highlighted part is being executed and at the same time the current value of the control variable is shown.
Individual information can be combined into one unit and thus, they can identify the expression of the same phenomena in different ways. In this way, the learner is enabled to gain new knowledge on the basis of own observation.
The flowers bouquet - cycle „while"
An interactive didactic simulation game "The Flowers" aims to demonstrate a cycle "while". The cycle repeats a group of commands when the repeat condition is met (the repeat condition is „True"). The condition is defined at the beginning of the cycle. To illustrate this cycle, we chose to draw a group of flowers from which a bouquet is made. The number of flowers is entered by the user using the input value „number of flowers" ("Počet kvetov"). The learners then make flower bouquets for mother and father, for brother and sister, for grandmother and grandfather birthdays - scene from real life (Figure no.3). The graphical layout of the individual function and control elements on the page is the same as for the cycle „for".
Liquid heating - cycle „repeat-until"
The liquid heating ("Var vody") simulation game demonstrates the run of cycle with the endof-cycle stop testing, i.e. the cycle „repeat-until" (also known as cycle „do while"). Entering parameter values: initial liquid temperature, final liquid temperature, heating element power, type of liquid. The "Liquid" ("Tekutina") menu offers a choice of three different types of liquids: water, oil and ethanol. Pressing „the Run" button will start the animated simulation. According to the input parameter values, the program calculates the time required to heat the selected liquid from the original temperature to the desired temperature. Due to the required simulation time, a „step" change is incorporated into the program.
The higher step value accelerates and the smaller step value slows the time needed for the simulation. In a shorter step in the table, we see a more detailed warm-up. When "the Auto Scale" option is enabled, the program divides the warm up time into a maximum of ten iterations, where we can monitor the current time and temperature of the liquid in the clear table. If the AutoScan is not activated when simulating starts, the number of repetitions will be represented by the number of seconds needed to warm up the liquid. In this option, no table is displayed, only the actual time and temperature is updated.
The course of the simulation, when interpreting the curriculum, can be viewed on the animations, the flowchart, or on the additional texts in the source pseudocode of the program. The repeat-until cycle is defined similarly as the cycle while, the difference is, that the part of the code bounded by the cycle takes place at least once, and at the end of the cycle the validity of the end-ofcycle condition is tested. Thus, the control structure of the repeat-until cycle is different from the while cycle. There, is not define the repeat condition, but the end-of-cycle condition.
While performing visualized simulation experiments using the "fluid heating" model, the learners observe knowledge not only about how the repeat-until cycle works, but also how it differs from other types of cycle and gain useful information from physics. In the Figure no.4, there is the print screen from one simulation experiment.
The parts of the screen marked with numbers 1, 2, 3, 4, 5 and 6, on the Figure no.4. are well known from the "Stadium" example. A table (numbered 7) has been added to the screen, which contains the serial number of the cycle repetition, the heating time and the actual temperature of the fluid at a given time.
IV.CONCLUSION
There are no doubts that modernization in the teaching process is needed. Modern education is not just about the equipping of schools with multimedia computer classrooms, notebooks and other digital mobile devices with Internet access, but it also implements new methods and technologies. Modern activation methods include problem and project teaching, curiosity-based teaching, discoverybased teaching and research-oriented teaching. All these methods can be used in favor of "deep learning" and can contribute to increasing of the effectivity of teaching. Individual methods can be based on using the playfulness and competitiveness of students. The question, however, is how well the educatees and the educators are able to use these new learning tools effectively in the educational process. The essence of computer and digital supported learning technologies is the use of a computer as a universal didactic tool. The main advantages of computer-aided learning include the presentation of multimedia-based knowledge, the individualization of learning - pace and mode, active learning, interactive communication, instant feedback, and motivating environments. When teaching programming, using new educational technologies matters a lot. The programming teacher is not only supposed to be a professional in the field, but he also needs to know how to motivate his students. One way to achieve that is to make lessons for them containing playfulness and competitivity. The European teacher standard among key competences highlights the ability to use finished teaching software, to create a custom application. Therefore, the organic component of teaching programs at universities is also subjects oriented to modern didactic tools and technologies as well as educational application development.
Acknowledgements
The paper was supported by project KEGA 012TTU-4/2018 "Interactive animation and simulation models in education".
Reference Text and Citations
[1] Basler, J., 2016. Počítačové hry a způsob jejich využívání u žáků základních škol. Trendy ve vzdělávání, 9(1), 10-19.
[2] Basler, J.; Dostál J., 2016. Analysis of studies focused on research of computer games' influence with an accent on education and people's psychics. In: ICERI2016 Proceedings. Seville, SPAIN: 9th International Conference of Education, Research and Innovation, s. 33-40. ISBN 978-84-617-5895-1. ISSN 2340-1095.
[3] Chráska, M. jun., 2016. Žáci gymnázia a míra jejich závislosti na počítačových hrách. Trendy ve vzdělávání, 9(1), 110-114.
[4] Chráska, M.; Basler J., 2016. Research of Computer game addiction among the 18-year- old students of general upper secondary schools in the Czech Republic. In: ICERI2016 Proceedings. Seville, SPAIN: 9th International Conference of Education, Research and Innovation, s. 69-78. ISBN 978-84-617-5895-1. ISSN 2340-1095.
[5] Chráska, M. 2016a. Computer Games - Preferred Way of Using ICT by Grammar School Students. In The European Proceedings of Social & Behavioural Sciences EpSBS. London: Elsevier Ltd., pp. 606-616. ISSN 23571330.DOI 10.15405/epsbs.2016.11.63
[6] Chráska, M. 2016b. Grammar School Students and Their Typology According to Dependence on Computer Games. In SGEM 2016 Conference Proceedings. Sofia: STEF92 Technology Ltd., 2016, pp. 795-802. ISBN 978-6197105-70-4. ISSN 2367-5659.DOI 10.5593/SGEMSOCIAL2016/B11/S03.101
[7] Czakóová, K., 2015. Microworlds in primary education teacher training : Mikrosvety v príprave učiteľov primárneho vzdelávania. (PhD Theses), Comenius University in Bratislava, Faculty of Mathematics, Physics and Informatics, Bratislava, 2015, pp. 1-175.
[8] Czakóová, K., 2017. Microworld environment of small languages as "living laboratory" for developing educational games and applications, In Proceedings of the 13th International Scientific Conference „eLearning and Software for Education" : Could technology support learning efficiency?, 1/2017, Volume 1, "CAROL I" National Defence University Publishing House, Bucharest, 2017, pp. 286-291.
[9] European Commission, 2014. Report to the European Commission on New modes of learning and teaching in higher education. [pdf]. European Union. Luxemburg, 2014, pp. 1-66.
[10] Dostál, J., 2009. Výukový software a didaktické počítačové hry - nástroje moderního vzdělávání. Journal of Technology and Information Education. 1(1), 24-28.
[11] Gujberová, M.; Tomcsányi, P., 2013. Environments for programming in primary education, In ISSEP 2013 - Selected Papers: Informatics in School, Universitatsverlag Potsdam, 2013, pp. 53-60.
[12] Sáez-López, J.-M. et al. 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 p.
[13] Horváth, R.; Stoffová, V., (2016) The Graphical support for the didactic games creation. In: XXIXth DIDMATTECH 2016 : New methods and technologies in education and practice :2nd Part. Ed. V. Stoffová, L. Zsakó, 1. vyd. Budapest : Eötvös Loránd University in Budapest : Faculty of Informatics, 2016, s. 67-82. ISBN 978-963-284-800-6
[14] Koreňová, L.; Veress-Bágyi, I., 2017. A kiterjesztett valóság alkalmazása az általános iskolai matematika tanulásban (Inquiry-Based Mathematics Learning by Applying Augmented Reality in the Primary School). In: XXXth DidMatTech 2017: New Methods and Technologies in Education and Practice : 2nd part. Ed. V. Stoffová a R. Horváth. 1. vyd. Trnava: Trnava University in Trnava, Faculty of Education, 2017, s. 75 - 86. ISBN 978-80568-0073-7
[15] Kožlej, J., 2018. Didaktické počítačové hry v projektovom a problémovom vyučovaní programovania. [Bakalárska práca]. - Trnavská Univerzita v Trnave. Pedagogická fakulta; Katedra matematiky a informatiky. - Vedúci: Prof. Ing. Veronika Stoffová, CSc., 2018. 58 s.
[16] Lapšanská, Š., 2016. Vizualizované interaktívne simulačné modely vo vyučovaní, Bakalárska práca, Trnavská univerzita v Trnave, Pedagogická fakulta, Katedra informatiky. Supervisor: prof. Ing. Veronika Stoffová, CSc. Trnava: Pedagogická fakulta TU, 2016, 56 s.
[17] Lapšanská, Š., 2018. Animačno-simulačné modely na podporu vyučovania základov algoritmizácie a programovania, Diplomová práca, Trnavská univerzita v Trnave, Pedagogická fakulta, Katedra informatiky. Supervisor: prof. Ing. Veronika Stoffová, CSc. Trnava: Pedagogická fakulta TU, 2018, 72 s.
[18] Pšenáková, I., 2016. Interactive applications in the work of teacher. In XXIXth DidMatTech 2016. Budapest : Eötvös Loránd University in Budapest, Faculty of Informatics, 2016. ISBN 978-963-284-800-6. pp. 92-100. https://www.mii.lt/informatics_in_education/htm/infedu.2017.07.htm. WOS:000399818000007
[19] Horváth, R.; Štrbo, M.: Multimédiá a internet : teória: elektronická učebnica. 2. Časť, Trnavská univerzita v Trnave - Pedagogická fakulta - Katedra matematiky a informatiky, 2016. ISBN 978-80-568-0014-0.
[20] Horváth, R.; Štrbo, M. 2016. Multimédiá a internet: teória: elektronická učebnica. 3. Časť, Trnavská univerzita v Trnave - Pedagogická fakulta - Katedra matematiky a informatiky, 2016. ISBN 978-80-5680-020-1.
[21] 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.
[22] Végh, L., 2016. Javascript library for developing interactive micro-level animations for teaching and learning algorithms on one-dimensional arrays. Acta Didactica Napocensia, 9(2), 23-32.
[23] Végh, L.; Stoffová, V., 2016. An interactive animation for learning sorting algorithms: How students reduced the number of comparisons in a sorting algorithm by playing a didactic game. In: Teaching Mathematics and Computer Science. Debrecen : Institute of Mathematics - University of Debrecen, Vol. 14, Iss. 1, pp. 45-62. ISSN 1589-7389
Copyright "Carol I" National Defence University 2019