Learning Object-Oriented Programming by Creating Games

被引:2
作者
Vegh, Ladislav [1 ]
Stoffova, Veronika [2 ]
机构
[1] J Selye Univ, Dept Math & Informat, Bratislavska Cesta 3322, Komarno 94501, Slovakia
[2] Univ Trnava, Dept Math & Comp Sci, Priemyselna 4,POB 9, Trnava 91843, Slovakia
来源
NEW TECHNOLOGIES AND REDESIGNING LEARNING SPACES, VOL I | 2019年
关键词
teaching; learning; programming; object-oriented programming; game development;
D O I
10.12753/2066-026X-19-002
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
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.
引用
收藏
页码:20 / 29
页数:10
相关论文
共 16 条
[1]  
Biju S.M., 2013, Innovations andAdvances in Computer, Information, Systems Sciences, andEngineering, P319, DOI DOI 10.1007/978-1-4614-3535-827
[2]   Ten quick tips for teaching programming [J].
Brown, Neil C. C. ;
Wilson, Greg .
PLOS COMPUTATIONAL BIOLOGY, 2018, 14 (04)
[3]   Teaching object-oriented programming laboratory with computer game programming [J].
Chen, Woei-Kae ;
Cheng, Yu Chin .
IEEE TRANSACTIONS ON EDUCATION, 2007, 50 (03) :197-203
[4]  
Cooper J, 2003, HYSTEROSCOPY, RESECTOSCOPY AND ENDOMETRIAL ABLATION, P191
[5]   Teaching Programming Through Games [J].
Doherty, Liam ;
Kumar, Vive .
2009 INTERNATIONAL WORKSHOP ON TECHNOLOGY FOR EDUCATION (T4E 2009), 2009, :111-113
[6]  
Drini M, 2018, PROCEEDINGS OF THE 8TH IEEE INTEGRATED STEM EDUCATION CONFERENCE (ISEC 2018), P120, DOI 10.1109/ISECon.2018.8340461
[7]   TEACHING PROGRAMMING BY DEVELOPING GAMES IN ALICE [J].
Florea, Adrian ;
Gellert, Arpad ;
Florea, Delilah ;
Florea, Adrian-Cristian .
ELEARNING VISION 2020!, VOL I, 2016, :503-510
[8]  
Haak V, 2018, IEEE GLOB ENG EDUC C, P478, DOI 10.1109/EDUCON.2018.8363269
[9]   How to learn and how to teach computational thinking: Suggestions based on a review of the literature [J].
Hsu, Ting-Chia ;
Chang, Shao-Chen ;
Hung, Yu-Ting .
COMPUTERS & EDUCATION, 2018, 126 :296-310
[10]   LEARNING COMPUTER PROGRAMMING THROUGH GAMES DEVELOPMENT [J].
Ivanova, Slavina .
ELEARNING VISION 2020!, VOL I, 2016, :492-497