Learning Object-Oriented Programming by Creating Games Cover Image

Learning Object-Oriented Programming by Creating Games
Learning Object-Oriented Programming by Creating Games

Author(s): LADISLAV VÉGH, Veronika Stoffová
Subject(s): Social Sciences, Education, Higher Education
Published by: Carol I National Defence University Publishing House
Keywords: teaching; learning; programming; object-oriented programming; game development;

Summary/Abstract: In an ecosystem where education is done through software interaction, the security of those systems is one key aspect which should not trouble the educators nor the children and students that interact with them. The article addresses a problem that is growing every day, new malware samples, which steal data [10], encrypt data and ask for a ransom [11], get remote access to a personal computer [12], or use computer resources to mine cryptocurrencies [13]. There are presented malware analysis reports that meticulously describe malicious software's behaviour and help security professionals to mitigate the risk. The need for security brings to light new methods to protect people's devices, like using machine learning or artificial intelligence. Random forest and neural network algorithms are implemented and the results are very encouraging, the accuracy in both cases is over 95%. In the last few years, because of the increasing computer resources and the more frequent usage of cloud services, these machine learning algorithms perform better and have caught the attention of many researchers in this area. The objectives of the project include the study of malicious software in order to find mitigation strategies, important characteristics of malware families that are used to generalize the problem of ransomware and malware detection. Also, it's presented the usage of open source sandbox to capture malware's behaviour and to use the results as the input for machine learning algorithms, and the study of different algorithms which can be used in classification problems. The current work can be a strong baseline to develop more advanced and useful algorithms, using millions of samples as the input dataset.Computer programming is one of the most important subjects for undergraduate computer science students, it is usually taught at universities during the first few semesters. There are many approaches to teach and learn computer programming. Some may prefer teaching/learning procedural programming first, others object-oriented programming first. In any case, to acquire good programming skills, students need to learn various data types, data structures, control structures, and the syntax of the chosen programming language. Furthermore, and most importantly, they need to acquire good logical and algorithmic thinking. This might cause big problems for new computer science students because acquiring such a thinking takes many years of practice. Students need to solve a huge number of various programming problems from easier to harder ones. But how can teachers motivate students to solve so many and so complex programming tasks? Because most of the undergraduate computer science students like playing computer games, we think creating their own games might be a big motivating factor. In this paper, first, we briefly summarize some possible approaches to teach object-oriented programming (OOP). Next, we describe our method of teaching computer programing at J. Selye University, focusing especially on teaching OOP by developing simple games. We think, to learn OOP, students need to have some basic knowledge of structural programming first. That’s why they learn standard C programming language during the first two semesters, and they start learning OOP using the C# programming language only from the third semester. The main part of this article deals with the teaching and learning OOP by creating computer games. By developing a simple tic-tac-toe game, students learn how to instantiate objects from the “Button” class, and how to use these objects. Later, by creating other puzzle games (fifteen puzzle, matching game, minesweeper), students learn how to create own classes by deriving them from the “Button” class, how to add fields and methods into them. Finally, students will be able to create more complicated games using OOP techniques.Computer programming is one of the most important subjects for undergraduate computer science students, it is usually taught at universities during the first few semesters. There are many approaches to teach and learn computer programming. Some may prefer teaching/learning procedural programming first, others object-oriented programming first. In any case, to acquire good programming skills, students need to learn various data types, data structures, control structures, and the syntax of the chosen programming language. Furthermore, and most importantly, they need to acquire good logical and algorithmic thinking. This might cause big problems for new computer science students because acquiring such a thinking takes many years of practice. Students need to solve a huge number of various programming problems from easier to harder ones. But how can teachers motivate students to solve so many and so complex programming tasks? Because most of the undergraduate computer science students like playing computer games, we think creating their own games might be a big motivating factor. In this paper, first, we briefly summarize some possible approaches to teach object-oriented programming (OOP). Next, we describe our method of teaching computer programing at J. Selye University, focusing especially on teaching OOP by developing simple games. We think, to learn OOP, students need to have some basic knowledge of structural programming first. That’s why they learn standard C programming language during the first two semesters, and they start learning OOP using the C# programming language only from the third semester. The main part of this article deals with the teaching and learning OOP by creating computer games. By developing a simple tic-tac-toe game, students learn how to instantiate objects from the “Button” class, and how to use these objects. Later, by creating other puzzle games (fifteen puzzle, matching game, minesweeper), students learn how to create own classes by deriving them from the “Button” class, how to add fields and methods into them. Finally, students will be able to create more complicated games using OOP techniques.

  • Issue Year: 15/2019
  • Issue No: 01
  • Page Range: 20-29
  • Page Count: 10
  • Language: English