Pregled bibliografske jedinice broj: 1230760
Teaching object oriented programming: programming language challenge
Teaching object oriented programming: programming language challenge // ICERI 2022: 15th International Conference of Education, Research and Innovation: Proceedings / Gómez Chova, L. ; López Martínez, A. ; Lees, J. (ur.).
Valencia: International Academy of Technology, Education and Development (IATED), 2022. str. 5880-5887 doi:10.21125/iceri.2022.1450 (predavanje, međunarodna recenzija, cjeloviti rad (in extenso), znanstveni)
CROSBI ID: 1230760 Za ispravke kontaktirajte CROSBI podršku putem web obrasca
Naslov
Teaching object oriented programming: programming language challenge
Autori
Krpan, Divna ; Mladenović, Saša ; Zaharija, Goran
Vrsta, podvrsta i kategorija rada
Radovi u zbornicima skupova, cjeloviti rad (in extenso), znanstveni
Izvornik
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), 2022, 5880-5887
ISBN
978-84-09-45476-1
Skup
15th International Conference of Education, Research and Innovation, ICERI 2022
Mjesto i datum
Sevilla, Španjolska, 07.11.2022. - 09.11.2022
Vrsta sudjelovanja
Predavanje
Vrsta recenzije
Međunarodna recenzija
Ključne riječi
Object-oriented programming ; learning programming ; C# ; JavaScript ; game-based learning
Sažetak
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.
Izvorni jezik
Engleski
Znanstvena područja
Računarstvo, Interdisciplinarne društvene znanosti
POVEZANOST RADA
Ustanove:
Prirodoslovno-matematički fakultet, Split