Learning Object-Oriented Programming Concepts Through Visual Analogies
Abstrak
Object-oriented programming (OOP) is a widely used programming paradigm in modern software industry. This makes it an essential skill for students in many disciplines to learn. However, OOP is known to be challenging to learn and teach due to its abstract nature. Studies have shown that students often face difficulties and develop misconceptions in multiple aspects when learning OOP. This article presents a systematic way of developing a teaching tool that uses a combination of visualization and analogies to help students overcome these barriers and understand the OOP concepts better. To ensure the tool would have pedagogical value and novelty, we first reviewed the educational theories on using analogies and visualization, as well as numerous existing tools. A set of activities in the form of code snippets were then designed to target these misconceptions and difficulties, along with a set of analogies and their interaction mechanisms that mapped to the OOP concepts. A teaching tool was then developed based on those designs and evaluated with engineering students in a CS2 course (n = 253). The results and our analysis show that a statistically significant improvement was achieved in student understanding and confidence through interaction with visualization of OOP concepts with analogies (VOOPA) exercises. Similar gains were also observed using more traditional methods. No statistically significant positive difference in understanding and confidence can be attributed to use of VOOPA through the current study.
Artikel Ilmiah Terkait
Luz E. Gutiérrez Carlos A. Guerrero Héctor A. López-Ospina
8 Februari 2022
This study describes the most relevant problems and solutions found in the literature on teaching and learning of object-oriented programming (OOP). The identification of the problem was based on tertiary studies from the IEEE Xplore, Scopus, ACM Digital Library and Science Direct repositories. The problems and solutions identified were ranked through the multi-criteria decision methods DEMATEL and TOPSIS in order to determine the best solutions to the problems found and to apply these results in the academic context. The main contribution of this study was the categorization of OOP problems and solutions, as well as the proposal of strategies to improve the problem. Among the most relevant problems it was found: 1) difficulty in understanding, teaching and implementing object-orientation, 2) difficulties related to understanding classes and 3) difficulty in understanding object-oriented relationships. After doing the multicriteria analysis, it was found that the most important solutions to face the problems found in the teaching of OOP were: 1) use of active learning techniques and intrinsic rewards and 2) emphasize on basic programming concepts and introduce the object-oriented paradigm at an early point in the curriculum. As a conclusion, it was evidenced that there is coherence between the literary guarantee that gives support to the problems and solutions in the teaching of OOP presented in this study and the approaches that experts in the area of development highlight as relevant when they identify weaknesses in the process.
Sverrir Thorgeirsson Z. Su
10 Oktober 2021
Empirical research suggests that programming language syntax is a common impediment for beginners, a concern that is mitigated to a varying degree by visual programming. In this paper, we introduce a novel visual programming language that is founded on program synthesis and the programming-by-demonstration paradigm. By using an intuitive visual syntax, we show how we can meet our primary goal of providing support to computer programming novices in exploring foundational programming concepts. We present the language's current and planned use in computer science education, provide preliminary evidence for its effectiveness, and discuss its future possibilities.
Y. Akpinar Ali Akkaya
1 Maret 2022
ABSTRACT Background and Context Though still a nascent area of research, serious games have been presented as means of engaging students in computer programming and computational thinking due to their immersive and interactive nature. Existing research is limited in its ability to provide systems based on sound instructional design models, and only a few studies validate their design with statistical support. Objective This study investigated the effects of a game which is based on experiential learning theory under framework of the four-component instructional design model on undergraduate students’ learning performance in conceptual knowledge of object-oriented programming and computational thinking skills. Method A pre-test and post-test quasi-experimental design was used to study the effects of the experiential serious games on conceptual knowledge of OOP and CT skills of 61 non-engineering students with and without prior programming knowledge. Findings The statistical analyses reveal that students with and without programming experience significantly improved their understanding of fundamental concepts of OOP. There were only weak correlations among students’ creative problem solving, attitudes towards digital game-based learning of programming, and learning. Implications We provide several recommendations for researchers and practitioners for designing and developing an effective serious game to teach novice programmers computer programming.
B. Cipriano P. Alves
10 Maret 2024
Large Language Models (LLMs) have emerged as promising tools to assist students while solving programming assignments. However, object-oriented programming (OOP), with its inherent complexity involving the identification of entities, relationships, and responsibilities, is not yet mastered by these tools. Contrary to introductory programming exercises, there exists a research gap with regard to the behavior of LLMs in OOP contexts. In this study, we experimented with three prominent LLMs - GPT-3.5, GPT-4, and Bard - to solve real-world OOP exercises used in educational settings, subsequently validating their solutions using an Automatic Assessment Tool (AAT). The findings revealed that while the models frequently achieved mostly working solutions to the exercises, they often overlooked the best practices of OOP. GPT-4 stood out as the most proficient, followed by GPT-3.5, with Bard trailing last. We advocate for a renewed emphasis on code quality when employing these models and explore the potential of pairing LLMs with AATs in pedagogical settings. In conclusion, while GPT-4 show-cases promise, the deployment of these models in OOP education still mandates supervision.
Muhammad Asyraf Abdullah Zawawi Zulhafiza Zainal Abidin
22 Maret 2020
Object-Oriented Programming (OOP) is one of the challenging concept in computer science education especially for novice programmers. To help students understand this concept, this research try to blend OOP with Augmented Reality (AR). The reason because AR can give fun aspect to the learner, which can also help learner to focus longer without distraction. For this research purpose, the target audience is 20 university students with different ability in programming and augmented reality experience. The overall results of this research show that OOP-AR received positive feedback from users. It also proved that OOP-AR is a necessary product for students who need to improvise their knowledge in OOP and its concepts and gain interest in using AR application
Daftar Referensi
0 referensiTidak ada referensi ditemukan.
Artikel yang Mensitasi
0 sitasiTidak ada artikel yang mensitasi.