Imikode (original) (raw)

Usability Evaluation of Imikode Virtual Reality Game to Facilitate Learning of Object-Oriented Programming

Technology, Knowledge and Learning

Many empirical studies have shown that educational games and recent technologies impact education and increase learning effectiveness, students’ motivation and engagement. The overall aim of this study is to evaluate the usability of Imikode, a virtual reality (VR) game that was developed to introduce the concepts of object-oriented programming to novices. The improved version of the Imikode VR game consists of three features: An artificial intelligence component designed to provide real-time error feedback to users, an intelligent agent that guides and teaches users how to play the game and finally, the integration of multiple game play that gives learners more opportunities to explore the VR environment for greater immersive learning experience. This study adopted a survey approach and recruited first-year computer science students to measure learner satisfaction with educational virtual reality games and examined the correlations among the attributes of the Usefulness, Satisfacti...

iProgVR: Design of a Virtual Reality Environment to Improve Introductory Programming Learning

IEEE Access

This work involved human subjects or animals in its research. Approval of all ethical and experimental procedures and protocols was granted by Sunway University Research Ethics Committe under Application No. PGSUREC2020/030. ABSTRACT Currently, there are a plethora of solutions developed to help students learn the basics of programming. However, there is a relative paucity of solutions that cater to problems students face when learning programming that is mainly caused by the abstract nature of programming, misconceptions of programming concepts, and lack of motivation. Hence, in this study, a framework to address the abstract nature of programming and common programming misconceptions is developed. The framework consists of three modules that correspond to each issue, powered by a simulation engine. The first module is developed to address the abstract nature of programming by representing programming concepts with concrete objects in the virtual environment. The second module employs simulation techniques such as interactions and player perspectives to address common programming misconceptions. Lastly, the third module employs elements in the virtual environment to engage students when learning through the system. To evaluate the system, 60 participants were randomly divided into the control group (N = 30) and the experimental group (N = 30). Participants in the control group were taught using a video lecture while participants in the experimental group were taught using the developed VR intervention. Evaluation results gathered quantitatively indicated that the VR intervention was able to significantly increase programming concepts comprehension and address programming misconceptions. Participants also rated the developed VR intervention to be significantly more engaging than the video lecture. INDEX TERMS Computing education, virtual reality, programming.

Learning of the Object Oriented Paradigm Through Interactive Video-Games Development

The Object Orientation Paradigm (OOP) is more than Object Oriented languages. Learning the syntax of a language as C++ or Java is a relatively easy task compared with the understanding of the principles of OO Modeling and Design (OOD), which require a high ability of abstract reasoning. Moreover, it is not enough to teach the artifacts of Computer Aided Software Engineering (CASE) as the Unified Modeling Language (UML) if those principles are not properly understood. We wanted to engage the students in a motivating framework, so both the principles of OOD are properly acquired and put in practice with CASE and programming tools.

Towards a 3D Virtual Game for Learning Object-Oriented Programming Fundamentals and C++ Language - Theoretical Considerations and Empirical Results

Proceedings of the 7th International Conference on Computer Supported Education, 2015

Object-Oriented Programming (OOP) paradigm is one of the most common paradigm in introductory programming courses. However, novices often have difficulties to understand the basic concepts which are of a high level of abstraction. Either tangible and virtual constructive games provide the students with a more familiar way for learning programming. This paper applies a construction game metaphor approach for learning OOP concepts and C++ syntax. After introducing some tangible and virtual constructive games for learning programming, we present an experimental prototype of a new 3D virtual game for learning OOP called PrOgO as well as the results of an experiment conducted with beginner student using PrOgO.

A game-based approach to the teaching of object-oriented programming languages

Computers & Education, 2014

Students often have difficulties when trying to understand the concepts of object-oriented programming (OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless communication and user-directed output capabilities, is applied to the teaching of the C# programming language, since the operation of these devices can be controlled by user programs written in C#. For our experiment, we selected a sample of students with a sufficient knowledge about procedural programming, which was divided into two groups: The first one had a standard introductory C# course, whereas the second one had an experimental C# course that included, in addition to the contents of the previous one, two demonstration programs that illustrated some OOP basic concepts using the TUI features. Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the group of students that attended the course including the TUI demos showed a higher interest level (i.e. they felt more motivated) during the course exposition than the one that attended the standard introductory C# course. Furthermore, the students from the experimental group achieved an overall better mark. Therefore, we can conclude that the technological contribution of Sifteo cubesused as a distributed TUI by which OOP basic concepts are represented in a tangible and a visible wayto the teaching of the C# language has a positive influence on the learning of this language and such basic concepts.

Use computer game to learn Object-Oriented programming in computer science courses

2014 IEEE Global Engineering Education Conference (EDUCON), 2014

The purpose of this study is to identify and evaluate how a computer game could be applied as a tool for learning Object-Oriented programming in computer science courses. The study aims to reduce the complexity of learning object-oriented programming for the students and provide efficient object-oriented design learning environment for them.

A holistic framework for the development of an educational game aiming to teach computer programming

Computer science is gradually changing, evolving and adapting according to the needs of each time period by incorporating the technological developments available. However, despite the occurring changes and the current progress in the domain, computer programming is still a vital chapter within computer science, and its teaching remains a difficult endeavour. On the other hand, students have changed the way with which they learn, interact with and search for knowledge. They spend significant amounts of their everyday lives from a very young age interacting with the computers by playing games. Thus, they are used to environments with impressive special effects and graphical interfaces where they have full control of the situation and interact with the environment's elements. Therefore, today's teachers are trying to connect computer programming learning with students' everyday usage of the computer, which does not include simple textual editors for programming lines of code with no other interaction functionalities. Hence, teachers face the challenge of incorporating environments that are similar to students' existing mentality and of creating tasks and assignments that can be executed within these environments and can provide students with the necessary programming knowledge and skills. A number of software solutions were developed towards facing the aforementioned difficulties. They can be classified into three main categories, namely educational programming environments, microworlds and educational games. Educational games used in computer programming courses are considered to present added value, due to their ability to motivate students towards actively participating in the learning process and to support high levels of interaction, group work and critical thinking. Thus, we have developed an educational game that aims to further enhance computer programming education by addressing occurring problems. This paper aims to introduce and elaborate on a holistic framework that has been constructed as a guide towards the development of this game. To this end, we collect documented difficulties identified in computer programming learning and teaching and study existing frameworks that have been proposed for the development of software solutions for computer programming courses and for the development of successful serious games that do not however focus on computer programming education. This information is thoroughly studied and refined and results in the proposed framework that could also be employed for the design and development of other future educational games focusing on computer programming education.

Immersive Technologies Applied to Computer Programming Teaching

Journal on Innovation and Sustainability RISUS

One of the first challenges for the students that begin to study the computing field is to learn how to program a computer. Nowadays, digital immersive environments are being used in Education with positive results. This paper presents a systematic literature review about the usage of immersive environments (VR or AR) in the teaching and learning of logic and/or computer programming. This paper presents the bases of scientific papers used to search the literature, the results and an analysis of the papers found.

Possibilities of Using Games in Teaching and Learning the Basic Concepts of Object-Oriented Programming

INTED2023 Proceedings

Introductory programming courses are some major subjects for undergraduate computer science students; however, first-year students are often overwhelmed by these topics. Games and graphically rich examples in education can motivate students, help them to understand algorithms more quickly, and develop computer programs more enjoyably. Different approaches to teaching introductory programming can be found in the literature: some researchers prefer structured programming first, while others object-orientation first. In this paper, we focus on teaching and learning OOP (object-oriented programming) while we assume that students already have some basic knowledge of structured programming. In the article, we briefly overview some of the basic concepts of OOP, such as classes and objects, fields and methods, constructors, encapsulation, abstraction, inheritance, polymorphism, overriding, and overloading. Next, we deal with the difficulties and problems in teaching and learning OOP that students and teachers might encounter. In the main part of the paper, we discuss the possibilities of using games, serious games, and visual programming environments for teaching and learning OOP. Finally, we draw some conclusions.