Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Croatian Scientific ...arrow_drop_down
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao
https://doi.org/10.21125/iceri...
Article . 2022 . Peer-reviewed
Data sources: Crossref
versions View all 3 versions
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

TEACHING OBJECT ORIENTED PROGRAMMING: PROGRAMMING LANGUAGE CHALLENGE

Authors: Divna Krpan; Saša Mladenović; Goran Zaharija;

TEACHING OBJECT ORIENTED PROGRAMMING: PROGRAMMING LANGUAGE CHALLENGE

Abstract

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.

Country
Croatia
Keywords

JavaScript, game-based learning, learning programming, Object-oriented programming ; learning programming ; C# ; JavaScript ; game-based learning, Object-oriented programming, C#

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average
Beta
sdg_colorsSDGs:
Related to Research communities
Upload OA version
Are you the author of this publication? Upload your Open Access version to Zenodo!
It’s fast and easy, just two clicks!