Teaching object oriented programming: programming language challenge (CROSBI ID 727306)
Prilog sa skupa u zborniku | izvorni znanstveni rad | međunarodna recenzija
Podaci o odgovornosti
Krpan, Divna ; Mladenović, Saša ; Zaharija, Goran
engleski
Teaching object oriented programming: programming language challenge
Object-oriented programming is an integral part of the university curriculum. However, teachers face difficulties teaching object-oriented programming to novice programmers: choosing the appropriate programming language and students’ understanding of basic object-oriented concepts. The choice of the programming language used for teaching is essential. Undergraduate students have difficulties understanding and implementing object-oriented concepts like inheritance, polymorphism, encapsulation, and abstraction. Strong-typed programming languages like C# enforce those concepts through syntax rules, and students often focus on learning syntax instead of learning and understanding object-oriented concepts. The consequence is that they lack a deeper understanding of the object-oriented paradigm. The knowledge based on the syntax level of programming language constructs is not appropriate for the object-oriented programming paradigm. Implementation of more complex object-oriented concepts implies the development of more complex programs. Still, students have limited time during lab exercises and can only solve simple problems, so teachers need to overcome those difficulties by simplifying the learning process. This paper describes teaching methods implemented in our undergraduate object-oriented programming course. We have simplified the learning process by introducing a game-based programming framework combined with a project-based learning approach to enhance the students’ understanding and improve their learning curves. The game development framework was specifically designed for learning, using chosen language for teaching while simplifying game development and hiding the complexity of concepts not closely related to object-oriented programming. Game development was chosen based on the good practice of visualizing program results (the idea behind LOGO-based languages). We will also compare and reflect on the differences between loose-typed language JavaScript, which we introduced last year, and strong-typed programming language like C#, which we used for teaching during previous years. Naturally, the languages are different, but in this paper, we focus on implementing object- oriented concepts.
Object-oriented programming ; learning programming ; C# ; JavaScript ; game-based learning
nije evidentirano
nije evidentirano
nije evidentirano
nije evidentirano
nije evidentirano
nije evidentirano
Podaci o prilogu
5880-5887.
2022.
objavljeno
10.21125/iceri.2022.1450
Podaci o matičnoj publikaciji
ICERI 2022: 15th International Conference of Education, Research and Innovation: Proceedings
Gómez Chova, L. ; López Martínez, A. ; Lees, J.
Valencia: International Academy of Technology, Education and Development (IATED)
978-84-09-45476-1
2340-1095
Podaci o skupu
15th International Conference of Education, Research and Innovation, ICERI 2022
predavanje
07.11.2022-09.11.2022
Sevilla, Španjolska