OOP-AR Learn Object Oriented Programming Using Aug
OOP-AR Learn Object Oriented Programming Using Aug
Research Paper
2020 | International Journal of Multimedia and Recent Innovation | Volume. 2 | Issue. 1 | 60-75
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
1. Introduction
Rapid development in Information and Communication Technologies (ICT) in this world give new
perspective to the learning process. Since computer science is implemented throughout worldwide,
technologies need to be expanded in order to parallel with the ‘sophisticated world’.
Object Oriented Programming (OOP) is one of computer science that majority of students find
difficulties to understand the concepts such as classes, objects, methods and others [1]. Attaway [2]
proposed that classes must be defined both the data and the functions that manipulate the data. Once a
class has been defined, objects can be created. These concepts are important to learn so that students
nowadays will be more advance to the programming. To make it easier and fun to learn, we can
implement OOP using one of the new technologies risen which is Augmented Reality.
Patel [3] proposed the AR works when virtual objects is applying in real physical world. Unlike
immersive Virtual Reality which creates a totally immerse environment, virtual imagery in AR
interfaces attached to real locations and objects and allow users to see like the real object. This
technology can enlarge the education sector worldwide, as it has the potential to enable new forms of
learning and transform the learning experience by motivating students with their study.
Students find that understanding object-oriented concepts is always a difficult task to them such as
classes, objects, methods, and other concepts. It is equally challenging for lecturers to teach these
concepts since lecturers have used various methods and they usually just using laptop and write code
practically. These methods will make students more bored and less excitement in learning this difficult
subject. To decline this problem facing among students and teachers, AR can give more excitement
while learning can be used to learn the OOP concepts.
There are several objectives that have been identified in order to achieve the aim of this research.
The objective of this research are:
To design the features of application that can make students attracted to learn OOP in attractive
way.
To develop the AR application that can interact between users and applications.
To test the functionality and usability of the application that can be used by students.
The scope of this project focusing on undergraduate students that learn OOP subject.
2. Literature Review
This section discusses previous research collection that related with the development of this research
such as collaborative learning theory, mobile learning, challenge in learning programming and effect of
Augmented Reality in education. This section also discusses about instructional design model and
differentiate between three models which is Rapid Prototyping model, ASSURE model and Spiral
model.
61
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
collaboration, as well as how observations are observed alongside their physiological segments during
collaborative learning session.
62
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
Model. From this comparison, researchers will choose the best model that be used in development of
this research.
Advantages 1. Errors can be detected 1. Provides lesson 1. Good for large and
earlier planning foundation mission-critical projects
2. Missing functionality can be while allowing 2. Additional
identified easily creativity from the functionality can be
3. Quick implementation instructors added at a later date
3. Methodology
This section defines the research methodology that implemented in the research that consist of phases
used as a guideline for the project development. The methodology selection is important to ensure that
the aim and objectives of the research that mentioned at the beginning is fulfilled. The methodology
used in this research is Rapid Prototyping. Rapid Prototyping is a flexible methodology that can be used
to develop an application. It is because the iteration occurs in certain phase is convenient to fix or
changing the requirements. Rapid prototyping methodology consists of nine phases which divided into
two parts which is prototype development and iterative development. In prototype development have
five phases; requirements gathering, quick design, build prototype, customer evaluation of prototype
and refine requirements incorporating customer suggestions. However, the iteration occurs between
second phase to fifth phase until the process in the phases have been done. While in iterative
development have four phases; design, coding, testing and maintenance. It is also had iteration between
these four phases if one of the process in certain phase have some mistakes.
63
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
students will be informed about the aim and the objectives of this study in order to make them
understand about this application and know the capabilities of AR in educations.
4. Development
This section discuss in detail about the development of the products according to the chosen research
methodology based on the objectives of the study. The methodology used for the product’s development
is Rapid Prototyping which includes prototype development and iteration development.
64
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
Figure 1 shows the flowchart of project design in developing this application. Developer initiated this
project by selecting topic about the concept of Object-Oriented Programming and proceed by choosing
Class, Object and Method as the concept of OOP that will be focuses in OOP-AR.
After determining the chosen concepts of OOP to be focus on, developer will provide a hands-on
coding that have its own Class, Object and Method and its output that will run in Java will be a ball that
65
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
move to right. After that, image target will be designed by using Microsoft PowerPoint. Next, developer
will design interfaces and develop it in Unity 3D. Lastly, OOP-AR will be builds into Android system
by using Android Studio SDK.
Target Marker Only classify Class, Object and Classify Class, Object,
Method from hands-on coding. Method and draw arrow
of the movement from the
output of hands-on
coding.
66
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
After researcher classify the requirements, researcher need to go back to quick design and build
prototype phase to re-design and re-build the application based on requirements needed.
Figure 2 shows the flowchart of project design after test the prototype. Developer first need to study
the meaning of OOP, Class, Object and Method. Next, developer need to provide the examples and
syntax of each concepts to make students more understand about OOP.
For hands-on coding, developer will provide five coding and each coding have its own Class, Object
and Method. The output of each coding that will run in Java will be a ball move to right, left, upward,
downward and static. After that, developer create five image target and each of them will show the
Class, Object, Method and arrow of movement regarding to the hands-on coding provided. Next,
developer will design interfaces and contents follow with the new requirements and develop it in Unity
3D. Lastly, OOP-AR will be builds into Android system by using Android Studio SDK.
4.7. Design
After the application accepted by users, researcher proceed with design phase. Design phase is about
applying on how design instruction can be effective in learning and interaction with the materials that
developer create and focuses on designing the content for the OOP concepts. In this phase, researcher
will provide instructional strategy, hierarchical navigation and activity diagram.
OOP-AR application provides five target markers to scan the output that related with hands-on
coding. Each marker will show the direction of the output hands-on coding which are static, right, left,
67
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
upward and downward movement and its Class, Object and Method. The output of the marker should
be a 3D butterfly pop up according to the stated movement.
Hierarchical navigation is organized in order to make the application be more structured and
organized well. This navigation is very important because the user can easily use and understandable.
Figure 3 shows the hierarchical navigation of OOP-AR application.
68
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
Activity diagram is basically a flowchart to represent the flow of the application from one activity to
another activity. The activity can be described as an operation of the application. Figure 4 shows activity
diagram to represent the flow of OOP-AR application.
Functions Description
Main Menu Main Menu is the first interface that will display after user opens the
application. It consists of four buttons which are About, Notes, Play and
Quit button.
About Display the description OOP-AR application.
Notes Provide notes for the meanings of OOP, Class, Object and Method and
examples of OOP concepts as well as the syntax.
Play Scan target marker in AR Camera to get the output 3D butterfly flying
follow the directions shown in the marker
Quit Quit from Application
69
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
4.8. Coding
Used Unity as a tool to develop OOP-AR is not integrated so many coding. Coding used just for the
functions of button to interact from one interface to another interfaces. Coding used in developing this
application is C# and run it in Visual Studio 2017 version that directly connected from Unity.
4.9. Testing
In testing phase, OOP-AR that already implement in mobile device need to be tested to make sure that
all the functions run smoothly as required in order to support and maintain the instruction based on its
usability and functionality. To test the application, researcher distributed questionnaire to 20
respondents from Software Engineering and Information Technology students in Sultan Idris Education
University.
70
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
Researcher also test the functionality of Augmented Reality in the application. The procedures of
testing whether the application is well functioning as expected are shown in Table 7.
71
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
5. Evaluation
This section discussed about the evaluation steps used to test the application by target user. A complete
application needs to be evaluated by user in order to achieve the third research objectives which is to
test the functionality and usability of the application that can be used by students.
The testing was done by distributing the questionnaire according to the research scope. This
evaluation involved 20 respondents from degree in Software Engineering and Information Technology
who taking Object-Oriented Programming subject. The respondents are required to give their answer
based on Likert Scale Evaluation, from strongly disagree to strongly agree (1 – 5).
Research finding included the results from questionnaire that required the respondents to answer.
First, researcher gave a chance to respondents to try OOP-AR application. After they used it, the
evaluation questionnaire was given to them. The questionnaire has three parts which is respondent
background, evaluate in term of functionality and usability of application.
In the questionnaire provides section about respondent background in order to evaluate the
respondents. This section includes the respondent’s level of knowledge in OOP which is novice,
intermediate or expert and ever used Augmented Reality before using OOP-AR. From the answer, it is
known that 65% of them are novice, 30% intermediate and 5% are expert in OOP. It is also shown that
70% of respondents are ever used AR in other application while 30% of them are never used AR.
6. Results
There are two keys evaluation of this application which is functionality and usability.
72
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
35% answered agree while the rest 60% strongly agree. For the third question, researcher asked “I learn
OOP concepts easily by using OOP-AR” with 5% answered normal, 30% agree while 65% strongly
agree. The next question, “The lessons and AR provided in OOP-AR is relatable” with 10% answered
normal, 30% agree and 60% strongly agree. The last question, researcher asked respondents if they
satisfied with OOP-AR. 10% answered normal, 20% agree while 70% strongly agree. After evaluates
all the questions, researcher concludes that OOP-AR is understandable and successfully deliver its
content to users.
73
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
7. Conclusion
The purpose of this research is to make sure that students who learn OOP subject more understand about
its concepts and give an attractive environment in class by using AR technology. The results can be
summarized as below:
• This application provides AR technology that suitable to attract student’s interest. In the use of
AR in learning OOP, students will less bored while learn this difficult subject. The design of
application also can be a factor to attract students such as animation button and attractive
background of each interface.
• Developer develops several of target marker in order to make users explore more in OOP. In
this way, AR application provided in this application can interact between users and
application.
• Researcher test the functionality and usability of application by using questionnaire technique.
From the questionnaire, researcher proved that users are satisfied with the effectiveness and
deliverable content of OOP-AR.
For the recommendation for future work, researcher has found that OOP-AR application need to
improvise based on the feedback and error occur in AR that have been discussed in testing phase. The
recommendation can be categorized as follow:
• The content of this application can be expanded into more concepts of OOP to make users more
understand about the subject. Besides that, this application can add quizzes or questions section
to provide users some exercise while learning and using AR. For the error of 3D model,
developer will learn more on how to animate 3D model so that students will explore more
objects in AR technology and gives more excitement in class.
• OOP-AR have commercialization potential to make it as a teaching and learning tool in
secondary school or even in universities that learn OOP subject or programming subject that
implement Object-Oriented. OOP-AR can be used not only for IT students, but other students
who learn programming also can used this application.
Overall, OOP-AR has showed that this application is necessary in order to make students more
understand and attractive while learning OOP subject. This application also be able to enhance the
traditional form of teaching by implement AR application in class. In addition, this application could
encourage students to think critically which improves their understanding and experiences in using
technologies while learning. The improvement suggested before also need to solve so that the
application does not encounter any problem in future. Even there is error in AR, this application still
can help students understand about the concepts of OOP as expected.
References
[1] S. Attaway, “Chapter 11/Introduction to Object-Oriented Programming and Graphics,” In
MATLAB®: a practical introduction to programming and problem solving (5th ed.). Kidlington:
Butterworth-Heinemann, an imprint of Elsevier, 2018.
[2] S. M. Biju, “Difficulties in Understanding Object Oriented Programming Concepts,” in Elleithy
Innovations and Advances in Computer, Information, Systems Sciences, and Engineering.
Lecture Notes in Electrical Engineering, vol. 152, pp. 319-326, 2013. doi: 10.1007/978-1-4614-
3535-8_27.
[3] T. Patel, “Learning Object Oriented Programming Using Augmented Reality - A Case Study with
Elementary School Students, 2017. [Online]. Available: from https://repository.asu.edu/items/
45470#embed [June 21, 2018]
[4] K. Scager, J. Boonstra, T. Peeters, J. Vulperhorst, and F. Wiegant, “Collaborative Learning in
Higher Education: Evoking Positive Interdependence,” CBE—Life Sciences Education, vol 15,
no. 4, 2016. doi: 10.1187/cbe.16-07-0219.
[5] M. Alghasab, J. Hardman, and Z. Handley, “Teacher-student interaction on wikis: Fostering
collaborative learning and writing,” Learning, Culture and Social Interaction, vol. 21, pp. 10-20,
2019. doi: 10.1016/j.lcsi.2018.12.002.
[6] E. Haataja, J. Malmberg, and S. Järvelä, “Monitoring in collaborative learning: Co-occurrence of
observed behavior and physiological synchrony explored,” Computers in Human Behavior, vol.
74
Zulhafiza Zainal Abidin, Muhammad Asyraf Abdullah Zawawi.
OOP-AR: Learn Object Oriented Programming Using Augmented Reality. International
Journal of Multimedia and Recent Innovation, vol. 2, no. 1, pp. 60-75, March 2020. DOI: 10.36079/lamintang.ijmari-0201.83
75