GOH SUK CHIN IMMERSIVE VISUALIZATION PYTHON CODING USING VIRTUAL REALITY Goh Suk Chin BSc Hons (CogSc) 2020 Bachelor of Science with Honours (Cognitive Science) 2020 1 UNIVERSITI MALAYSIA SARAWAK A Grade: _____________ Please tick one Final Year Project Report ☒ Masters ☐ PhD ☐ DECLARATION OF ORIGINAL WORK This declaration is made on the 6th day of AUGUST year 2020. Student’s Declaration: I, GOH SUK CHIN , 60864, FACULTY OF COGNITIVE SCIENCES AND HUMAN DEVELOPMENT, hereby declare that the work entitled, Immersive Visualization Python Coding using Virtual Reality is my original work. I have not copied from any other students’ work or from any other sources with the exception where due reference or acknowledgement is made explicitly in the text, nor has any part of the work been written for me by another person. 06 August 2020 ____________________ _______________________________ Goh Suk Chin (60864) Supervisor’s Declaration: I, DR. ABDULRAZAK YAHYA SALEH AL-HABABI , hereby certify that the work entitled, IMMERSIVE VISUALIZATION PYTHON CODING USING VIRTUAL REALITY was prepared by the aforementioned or above mentioned student, and was submitted to the “FACULTY” as a *partial/full fulfilment for the conferment of BACHELOR OF SCIENCE WITH HONOURS (COGNITIVE SCIENCE), and the aforementioned work, to the best of my knowledge, is the said student’s work Received for examination by: _______________________________ (DR. ABDULRAZAK YAHYA SALEH) 2 SEP 2020 Date: ____________________ I declare this Project/Thesis is classified as (Please tick (√)): ☐ CONFIDENTIAL ☐ RESTRICTED ☒ OPEN ACCESS (Contains confidential information under the Official Secret Act 1972)* (Contains restricted information as specified by the organisation where research was done)* I declare this Project/Thesis is to be submitted to the Centre for Academic Information Services (CAIS) and uploaded into UNIMAS Institutional Repository (UNIMAS IR) (Please tick (√)): ☒ ☐ YES NO Validation of Project/Thesis I hereby duly affirmed with free consent and willingness declared that this said Project/Thesis shall be placed officially in the Centre for Academic Information Services with the abide interest and rights as follows: This Project/Thesis is the sole legal property of Universiti Malaysia Sarawak (UNIMAS). The Centre for Academic Information Services has the lawful right to make copies of the Project/Thesis for academic and research purposes only and not for other purposes. The Centre for Academic Information Services has the lawful right to digitize the content to be uploaded into Local Content Database. The Centre for Academic Information Services has the lawful right to make copies of the Project/Thesis if required for use by other parties for academic purposes or by other Higher Learning Institutes. No dispute or any claim shall arise from the student himself / herself neither a third party on this Project/Thesis once it becomes the sole property of UNIMAS. This Project/Thesis or any material, data and information related to it shall not be distributed, published or disclosed to any party by the student himself/herself without first obtaining approval from UNIMAS. Student’s signature: ________________________ Date: 06 AUGUST 2020 Supervisor’s signature: _____________________ Date: 2 SEP 2020 Current Address: 42-1-20, Desa Green, Jalan Van Praagh, 11600, Pulau Pinang. Notes: * If the Project/Thesis is CONFIDENTIAL or RESTRICTED, please attach together as annexure a letter from the organisation with the date of restriction indicated, and the reasons for the confidentiality and restriction. IMMERSIVE VISUALIZATION PYTHON CODING USING VIRTUAL REALITY GOH SUK CHIN This project is submitted in partial fulfilment of the requirement for a Bachelor of Science with Honours (Cognitive Science) Faculty of Cognitive and Human Development UNIVERSITI MALAYSIA SARAWAK (2020) The project entitled ‘Immersive Visualization Python Coding using Virtual Reality’ was prepared by Goh Suk Chin and submitted to the Faculty of Cognitive Sciences and Human Development in partial fulfillment of the requirements for a Bachelor of Science with Honours (Cognitive Science). Received for examination by: ----------------------------------(ABDULRAZAK YAHYA SALEH AH-HABABI Date: 2 SEP 2020 Grade A ACKNOWLEDGEMENTS First of all, I would like to show my appreciation and gratitude towards my supervisor, Dr. Abdulrazak Yahya Saleh Al-Hababi, for his continuous advice and criticism throughout this research project. Besides, I would like to acknowledge my senior, Rosline, as well as all the participants who were involved in the traditional learning and VR learning session, for their commitments towards this research. The funding for this research which was supported by Universiti Malaysia Sarawak is much appreciated as well. Lastly, special thanks to my parents and loved ones. This wasn’t possible without the indebtedness encouragement and guidance from them. i TABLE OF CONTENTS ACKNOWLEDGEMENTS.................................................................................................................... i TABLE OF CONTENTS ...................................................................................................................... ii LIST OF FIGURES............................................................................................................................... v LIST OF TABLES................................................................................................................................ vi ABSTRACT ......................................................................................................................................... vii ACRONOMYS ..................................................................................................................................... ix CHAPTER 1 .......................................................................................................................................... 1 1.1 Introduction ................................................................................................................................. 1 1.1.1 Virtual Reality...................................................................................................................... 1 1.1.2 Mobile VR ........................................................................................................................... 2 1.1.3 VR Development Software ................................................................................................... 2 1.2 Background of Study ................................................................................................................... 3 1.3 Problem Statement ....................................................................................................................... 4 1.4 Research Question ....................................................................................................................... 6 1.5 Research Objectives ..................................................................................................................... 6 1.6 Significance of Research .............................................................................................................. 7 1.7 Scope of Research ........................................................................................................................ 7 1.8 Thesis Outline .............................................................................................................................. 8 1.9 Summary ..................................................................................................................................... 8 CHAPTER 2 .......................................................................................................................................... 9 2.1 Overview ..................................................................................................................................... 9 2.2 Problem Faced while Learning Python ....................................................................................... 10 2.3 Virtual Reality (VR) .................................................................................................................. 11 2.4 Immersive Virtual reality ........................................................................................................... 13 2.5 VR in Education and Learning ................................................................................................... 15 2.6 Tools and Approaches Used for Developing the Application ...................................................... 18 ii 2.6.1 Mobile VR ......................................................................................................................... 19 2.6.2 Device for VR Viewing ...................................................................................................... 20 2.7 Content Development Tools ....................................................................................................... 21 2.8 Summary ................................................................................................................................... 23 CHAPTER 3 ........................................................................................................................................ 24 3.1 Overview ................................................................................................................................... 24 3.2 Research Design ........................................................................................................................ 24 3.1.1 Identification Phase ............................................................................................................ 25 3.1.2 Design Phase ...................................................................................................................... 27 3.1.3 Development Phase ............................................................................................................ 29 3.1.4 Prototyping ........................................................................................................................ 30 3.1.5 Testing ............................................................................................................................... 33 3.1.6 Deployment and Maintenance ............................................................................................ 33 3.3 Ethics of the Study ..................................................................................................................... 34 3.4 Data Collection Procedures ........................................................................................................ 34 3.4.1 Observation ........................................................................................................................ 38 3.4.2 Questionnaires.................................................................................................................... 38 3.4.2.1 Presence Questionnaires (PQ) ......................................................................................... 38 3.4.2.2 System Usability Scale (SUS) questionnaires .................................................................. 39 3.4.3 3.5 Interview ............................................................................................................................ 39 Data Evaluation ......................................................................................................................... 40 3.5.1 Dependent Samples t-test ................................................................................................... 40 3.5.2 Independent Samples t-test ................................................................................................. 42 3.5.3 Questionnaire ..................................................................................................................... 44 3.6 3.5.3.1 Presence Questionnaire (PQ) Evaluation ......................................................................... 44 3.5.3.2 System Usability Scale (SUS) Evaluation ....................................................................... 45 Summary ................................................................................................................................... 45 iii CHAPTER 4 ........................................................................................................................................ 46 4.1 Overview ................................................................................................................................... 46 4.2 Results of Usability Testing ....................................................................................................... 46 4.3 Participants ................................................................................................................................ 47 4.4 Results of Dependent Samples t-test ........................................................................................... 49 4.4.1 Traditional Learning Method .............................................................................................. 49 4.4.2 VR Learning Method.......................................................................................................... 51 4.5 Results of Independent Samples t-test ........................................................................................ 53 4.6 Presence Questionnaire Results .................................................................................................. 57 4.7 SUS Results ............................................................................................................................... 59 4.8 Interview Result ......................................................................................................................... 61 4.9 Summary ................................................................................................................................... 62 CHAPTER 5 ........................................................................................................................................ 64 REFERENCES .................................................................................................................................... 66 iv LIST OF FIGURES Figure 1.1. HMD such as Google Cardboard that acts as one of the mobile VR. ....................................... 2 Figure 1.2. Results of the perspective of a novice towards learning programming. ................................... 5 Figure 2.1. Map of chapter 2 .................................................................................................................... 9 Figure 2.2. Density of resources in each phase. ...................................................................................... 10 Figure 2.3. Scope of knowledge required in each phase. ......................................................................... 11 Figure 2.4. Number of paper regarding HMD education published per subject area ................................ 13 Figure 2.5. Number of paper HMD education published per country of publication. ............................... 14 Figure 2.6. Final model of learner’s attitude toward 3D VR learning. .................................................... 15 Figure 2.7. The HTC Vice headset and VR content used in Allcoat and Mühlenen’s experiments. .......... 16 Figure 2.8. Google Cardboard................................................................................................................ 19 Figure 2.9. Comparison between Oculus Rift and Gear VR. ................................................................... 19 Figure 3.1. Research design of this study. .............................................................................................. 25 Figure 3.2. Result obtained from the interview. ...................................................................................... 26 Figure 3.3. Draft design of the application. ............................................................................................ 28 Figure 3.4. Learning materials displayed after triggered by the user. ...................................................... 31 Figure 3.5. Hint to instruct the user to look down to move in the application. ......................................... 31 Figure 3.6. Using gaze interaction to click button. .................................................................................. 31 Figure 3.7. Question displayed and answer to choose in the maze. ......................................................... 32 Figure 3.8. Flowchart of data collection procedures. .............................................................................. 35 Figure 3.9. Participants learning session using traditional learning method. ............................................ 36 Figure 3.10. Participants learning session using VR learning method. .................................................... 36 Figure 3.11. Participants doing the pre-test and post-test ........................................................................ 37 Figure 4.1. Age of Participants involved in VR learning method. ........................................................... 48 Figure 4.2. Knowledge in programming except Python before participation. .......................................... 48 Figure 4.3. t-distribution graph with significant level of 0.005 and degree of freedom of 14. .................. 50 Figure 4.4. t-distribution graph with significant level of 0.005 and degree of freedom of 14. .................. 52 Figure 4.5. t-distribution graph with significant level of 0.005 and degree of freedom of 28. .................. 56 Figure 4.6. Pie chart of the SUS score. ................................................................................................... 60 Figure 4.7. Feedback from the participants on Q1 to Q3. ........................................................................ 61 v LIST OF TABLES Table 1.1. Top 3 rating tools for VR development from Packt, DevTeam.Space and Techprior ................ 3 Table 2.1. Advantages and disadvantages of VR .................................................................................... 17 Table 2.2. Popular VR options ............................................................................................................... 20 Table 2.3. Comparison between Unity 3D, Unreal Engine4 and CryEngine ............................................ 22 Table 3.1. Seven product dimensions of application ............................................................................... 27 Table 3.2. General SUS score classification ........................................................................................... 45 Table 4.1. Results of usability testing ..................................................................................................... 46 Table 4.2. Results of pre-test and post-test via traditional learning method ............................................. 49 Table 4.3. Results of dependent Samples t-test for traditional learning method ....................................... 50 Table 4.4. Results of pre-test and post-test via VR learning method ....................................................... 51 Table 4.5. Results of dependent samples t-test for VR learning method .................................................. 52 Table 4.6. Improvement results for both traditional and VR learning method ......................................... 54 Table 4.7. Results of independent samples t-test for improvement of learning ........................................ 55 Table 4.8. Scoring for the presence questionnaire for all 15 samples ...................................................... 58 Table 4.9. Mean and Standard Deviation for each criterion of presence questionnaire ............................ 59 Table 4.10. SUS score for all the 15 samples collected ........................................................................... 59 Table 4.11. Classification of SUS score for all the 15 samples ............................................................... 60 vi ABSTRACT Learning to code using Python is a struggle for many students who have enrolled in technologybased courses in universities and institutes. Globally, coding skills are in high demand, and it is increasingly becoming an essential skill for multiple industries in the 21st century. According to a 2018 Pew Research Centre survey, since 1990, jobs in science, technology, engineering and math have grown by 79 per cent, and are expected to grow an additional 13 per cent by 2027. The ability to associate and adapt to the solving skills can be enhanced through various numbers of teaching and learning techniques which are suitable to the students. This comes to the idea of creating a virtual reality (VR) environment as a new learning media. VR typically refers to a simulated environment creator with the help of high-performance computer technology in which its virtual environment simulation is getting indistinguishable from the real world. Applying mobile VR to language learning is promising, because this concept of learning language is affordable, interesting, less likely to be explored in Malaysia yet, and VR at this stage could be a useful tool for visual communication in a true-to-scale environment. The main goal of this study is to develop a mobile VR application to conduct basic Python coding skills for the students. Thirty students aged from 18 to 22 are invited to participate in this research. Unity 3D is used as the application development tool with Mobile Application Development Lifecycle (MADLC). The developed VR application is employed using Google cardboard to create immersive VR experience. Usability test, hypothesis test, presence questionnaire (PQ) and system usability scale (SUS) are utilized for evaluation of the study. The findings from this study proved that learning through VR has better performance compared to traditional learning method. In hypothesis testing, VR learning method suggested more effective learning with 𝑡𝑠𝑡𝑎𝑡𝑖𝑠𝑡𝑖𝑐 value 4.992 which much larger than 𝑡𝑐𝑟𝑖𝑡𝑖𝑐𝑎𝑙 = 2.76. There are 73% of the participants rated above 68 out of 100 which indicated the participants are satisfied with the application used to learn Python. In short, VR method is convenient and is a modern tool for learning at any places as it provides good experience and interesting method for participants to learn. Further explanation is provided in this paper to prove the efficiency of VR for the programming learning. vii ABSTRAK Belajar kod menggunakan Python adalah perjuangan bagi banyak pelajar yang telah mendaftar dalam kursus berasaskan teknologi di universiti dan institut. Di peringkat global, kemahiran pengekodan sangat diminati, dan semakin menjadi kemahiran penting untuk pelbagai industri pada abad ke-21. Menurut tinjauan Pusat Penyelidikan Pew 2018, sejak tahun 1990, pekerjaan dalam sains, teknologi, kejuruteraan dan matematik telah meningkat sebanyak 79 peratus, dan diharapkan akan meningkat 13 persen pada tahun 2027. Keupayaan untuk bergaul dan menyesuaikan diri dengan penyelesaian kemahiran dapat ditingkatkan melalui pelbagai teknik pengajaran dan pembelajaran yang sesuai dengan pelajar. Ini datang kepada idea untuk mewujudkan persekitaran realiti maya (VR) sebagai media pembelajaran baru. VR biasanya merujuk kepada pencipta persekitaran simulasi dengan bantuan teknologi komputer berprestasi tinggi di mana simulasi persekitaran maya semakin tidak dapat dibezakan dengan dunia nyata. Menerapkan VR mudah alih untuk pembelajaran bahasa sangat menjanjikan, kerana konsep pembelajaran bahasa ini mampu dimiliki, menarik, cenderung untuk diterokai di Malaysia, dan VR pada tahap ini dapat menjadi alat yang berguna untuk komunikasi visual dalam lingkungan skala-sebenarnya. Matlamat utama kajian ini adalah untuk mengembangkan aplikasi VR mudah alih untuk melakukan kemahiran pengkodan Python asas untuk pelajar. Tiga puluh pelajar berumur antara 18 hingga 22 tahun dijemput untuk mengambil bahagian dalam penyelidikan ini. Unity 3D digunakan sebagai alat pengembangan aplikasi dengan Mobile Application Development Lifecycle (MADLC). Aplikasi VR yang dikembangkan digunakan menggunakan kadbod Google untuk mewujudkan pengalaman VR yang mendalam. Ujian kebolehgunaan, ujian hipotesis, soal selidik kehadiran (PQ) dan skala kegunaan sistem (SUS) digunakan untuk penilaian kajian. Hasil dapatan dari kajian ini membuktikan bahawa pembelajaran melalui VR mempunyai prestasi yang lebih baik berbanding dengan kaedah pembelajaran tradisional. Dalam pengujian hipotesis, kaedah pembelajaran VR mencadangkan pembelajaran yang lebih berkesan dengan nilai t_statistik 4.992 yang jauh lebih besar daripada 𝑡𝑘𝑟𝑖𝑡𝑖𝑘𝑎𝑙 = 2.76. Terdapat 73% peserta dinilai melebihi 68 daripada 100 yang menunjukkan peserta berpuas hati dengan aplikasi yang digunakan untuk belajar Python. Ringkasnya, kaedah VR adalah mudah dan merupakan alat moden untuk belajar di mana-mana tempat kerana memberikan pengalaman yang baik dan kaedah menarik untuk dipelajari oleh peserta. Penjelasan lebih lanjut diberikan dalam makalah ini untuk membuktikan kecekapan VR untuk pembelajaran pengaturcaraan. viii ACRONOMYS 3D 3-Dimensional AR Argumenta Reality HMD Head Mounted Device MADLC Mobile Application Development Cycle PQ Presence Questionnaire SUS System Usability Scale UI User Interface VE Virtual Environment VR Virtual Reality ix CHAPTER 1 INTRODUCTION 1.1 Introduction Over the past decade, virtual reality (VR) technology is no longer a strange term and it is widely studied by many researchers (Alexander, Westhoven, & Conradi, 2017; Freina & Ott, 2015; Tieri, Morone, Paolucci, & Iosa, 2018) in various aspect. “VR is the biggest brain tool that we have”, says Kevin Kelly, founding editor of Wired magazine. An artificial environment created by this emerging technology is immersing into many fields especially education and training (Hirt & Beer, 2020). For instance, VR can be used in medical studies to help the students for better understanding in the structure of the human body or in scientific studies to facilitate the scientist for research analytics. 1.1.1 Virtual Reality Virtual reality, also known as Virtual Environment, Artificial Reality or Virtual Worlds provides a 3-dimensional (3D) interface in displaying and controlling the interactive computer graphic (Bryson, 1993). In VR, users will be able to experience and interact with a 3D world that does not exist in reality. Therefore, VR is said to be believable because users are able to feel themselves in the illustrated world. VR world is interactive as it will move along with the user, and explorable where the virtual world will be big enough for the user to explore (Passig & Sharbat, 2001). In order to extend the realism of the virtual environment, senses such as vision, hearing, touch and smell are simulated. Moreover, the improvement in HumanComputer interfaces has attracted the interest of the user in VR because it is able to provide pleasure and attractive user experience. There are three types of VR experience: (a) non-immersive VR; (b) semiimmersive VR; (c) fully immersive VR. This present study focuses on the implementation of immersive VR. 1 1.1.2 Mobile VR Head-mounted Display (HMD) is the most immediately recognizable component of immersive VR. The traditional type of HMD device like the I-Glasses (Virtual IO 1995) or the Oculus Rift headset (Oculus 2012) mostly focuses on the game developer market and is relatively expensive. Anyhow, the situation changed when mobile VR which is also known as phone-based VR was introduced by Google in 2014 with the release of Google Cardboard followed by Samsung Gear VR from Samsung (Barnard, 2019). Unlike the traditional VR that powered by the dedicated built-in computer and display unit, these modern VR introduced by Google and Samsung enabled technology to be adapted to any mobile phone (Hussein & Natterdal, 2015) as shown in Figure 1.1. Although the graphic quality of mobile VR is not as perfect as the other HMD device, most of the smartphones certainly have enough processing power to display the VR contents. This ability will be getting even better with the evolution of smartphones. Figure 1.1. HMD such as Google Cardboard that acts as one of the mobile VR. 1.1.3 VR Development Software Various VR software development tools are available in the market. The top 3 development tools rated by Packt, DevTeam.Space and Techprior are presented in Table 1.1. 2 Table 1.1 Top 3 rating tools for VR development from Packt, DevTeam.Space and Techprior Website (year) First Second Third Packt (2018) Unity 3D Unreal Engine 4 CryEngine DevTeam.Space (2019) Unity 3D Amazon Sumerian Google VR for everyone Techprior (2019) Unity 3D Unreal Engine 4 CryEngine From Table 1.1, Unity 3D is highly rated as one of the best VR development tools since 2018. It was introduced in 2005 with the goal of “democratize game development” (Milano, 2019). Unity 3D is novice friendly as it offers a huge online 3D asset store which allows the user to find, download and import 2D or 3D packages, virtual reality tools and templates into projects easily. The VR toolkit that is available in the asset store has eased the VR development process. Also, the informative documentation with vivid examples in Unity has acted as a helpful aid to the beginner. 1.2 Background of Study The background of the study such as the demand in programming and implementation of VR in learning programming will be discussed in this subchapter. Well-known information is that there is significant progress in technology, and programming is one of the main factors that make evolution possible. Based on the statistical analysis done by Emsi which is a labor market insight company from January 2016 until February 2017, there were 115,058 software developer recruitments each month, but the average monthly hires were only 33,579 people (Hyndman, 2017) which is only fill up around 30% of the job posting. This result indicated that the demand for software developers is outweighing the supply. Therefore, programming knowledge is becoming crucial in pursuing a related career. Apart from disciplines like Computer Science, many of the courses offered in the university started to include programming as one of the optional or core modules for undergraduates as well. 3 A research done by Chandramouli, Zahraee, & Winer (2014) is using VR platform to conduct the programming lecture to the engineering students aiming to motivate them in learning programming. The results show that the 3D visual approach in VR learning helps undergraduates to resolve the inherent barriers that may be encountered due to the lack of logic and complexity in learning programming. This approach inspires them to master and analyze programming using real-world examples as well as gameoriented instructions. Overall, the performance of the participated undergraduates in the programming related course has been enhanced. 1.3 Problem Statement Learning to code using Python is a struggle for many students who have enrolled in technologybased Cognitive Science. According to the survey done by Pew Research Center in 2018, job involving technology has increased 79% since 1990 and are expected to grow 13% more by 2027 (Graf, Fry & Funk, 2018). Programming has been identified as a crucial skill for career-success in innumerable disciplines, but it is not easy to master the programming language. Based on IEEE Ranking Spectrum, the top five programming languages are Python, Java, C, C++ and R language (Cass, 2019). According to Daityari (2016), the common challenges for beginners to acquire Python programming skills are facing difficulties in reading from terminal, enumerating in Python, executing external commands through Python, handling exceptions using try-except blocks and working with modulus. The research done by Aragon (2017) as shown in Figure 1.2 on the obstacles in learning programming for the perspective of the novice have supported the above statement. 4 Figure 1.2. Results of the perspective of a novice towards learning programming. Adopted from: Aragon, 2017. Retrieved from https://software.ac.uk/blog/2017-08-15-obstacles-learning-programmingperspective-non-programming-geographers. Furthermore, research done by Liester et al. (2004) and Robins, Rountree, & Rountre (2003) showed that there are some issues faced when learning programming that needed to be overcome. Most of the students tend to apply the concepts before mastering the fundamentals of programming (Lahtinen, AlaMutka, & Järvinen, 2005). The results also reported that the overall program entities of the programming concept are less understandable than the details of it. Other than this, motivation of the students in learning programming will be affected by the lack of effective tools to resolve the problems mentioned above (Milne & Rowe, 2002). Insufficient understanding of the executed programs is an important factor that will cause the students struggle in learning programming. These factors will soon be leading to some negative impacts on the students thus affect their attitude and motivation in learning programming. According to Edori (2014), the enthusiasm of students is considered as a top priority because it will cause a direct impact on their perseverance and dedication in completing their goals. Preliminary scientific evidence showed that the usage of augmented reality platform gave advantages to the learner. Students from Georgia Tech reported that students who use AR platform to learn coding are able to perform better compared to traditional 5 learning method (Zimmerman, 2019). To overcome this issue, an alternate and appropriate approach that is able to encourage the students in learning this subject is needed (Chandramouli et al., 2014). This research work presented in this paper focuses on design, development of system that allow the student to learn programming languages through immersive VR. Python is chosen as the representative case in this present work as it is one of the most demanded computational languages in 2020 (Kamaruzzaman, 2020). 1.4 Research Question In this study, we hypothesize that the developed immersive VR application will be able to improve the performance of the students in learning programming. With the hypothesis above, few questions are formulated as follow: 1. What are the design factors to consider when developing a Virtual Reality platform to assist and support students in learning to code using Python? 2. What are the usability issues that emerge from the use of Virtual Reality to learn to code using Python? 3. What is the impact on academic performance of students who use virtual reality to learn to code using Python? 1.5 Research Objectives The main objectives of this research are as below: 1. To design a virtual reality environment that focused on python coding skills for university students. 2. To create a virtual reality environment that focuses on python coding skills for students. 3. To evaluate the performance of the virtual reality system after the implementation. 6 1.6 Significance of Research The contributions of this study are as follows: 1. Offering an alternative way to conduct learning. The greater results in the students’ performance of VR learning group indicates that it is a new efficient learning method that can be implemented in lecture. 2. The developed VR system can be adopted by the organization to provide better training or learning approach to their students thus bringing the organization to a higher level of education. 3. In the aspect of tutors and students, this research work suggested a more effective teaching and learning approach as well as enhanced collaboration and knowledge sharing among the groups. Other than these, they are also able to develop their technology skills that are essential for the 21st century while using the system. 4. To society and researchers, this research is very important as in time to come, technology is believed to soon replace the traditional methods in all fields especially in education. 1.7 Scope of Research Below is the scope of this research: 1. This Immersive Python Coding application is designed to help the learner to be engaged in learning thus performing better in coding. 2. The software used to develop the VR application is Unity 3D. 3. The VR tool used is Google Cardboard. 4. There are four python learning topics and one tutorial in the application. 5. The participants of this research are 18-20 years old students who are studying in Malaysia. 7 1.8 Thesis Outline The project outline is categorized into five different chapters as listed below: i.) Chapter 1: Introduction Chapter 1 mainly about the introduction of VR and discussion about the problem statement. Other things such as the objectives and scopes were listed in Chapter 1. ii.) Chapter 2: Literature review This chapter is about reviewing the research of VR including the application of VR, advantage and disadvantage of it. Other than that, comparing different types of software and HMD were done and the most suitable hardware and software will be chosen to develop the application. iii.) Chapter 3: Methodology Chapter 3 discussed the research design used and development process. The methods used to collect the data are defined. The ethic of this research is outlined as well. iv.) Chapter 4: Results Chapter 4 presented the results of this research including the usability testing, dependent and independent samples t-test, presence questionnaire, system usability scale, and feedback collected from the interview. v.) Chapter 5: Discussions Chapter 5 discussed and evaluated the findings obtained in chapter 4. 1.9 Summary To overcome the difficulties faced by students in learning python coding, a mobile application of immersive VR technology with related topics will be developed to examine its effectiveness in learning. This application will be implemented using mobile VR while the users are the student who age ranging from 18 years old until 22 years old. The feasibility of the developed VR system will be validated in terms of the performance of students and user experiences. 8 CHAPTER 2 LITERATURE REVIEW 2.1 Overview This literature review gives an overview of the types of VR, the application of VR techniques in research, a brief discussion on the immersive VR and its disadvantages. Previous research about the implementation of VR in learning is reviewed. The frequently used development tools, mobile VR and recommended HMD are discussed. Furthermore, map of chapter 2 was illustrated in Figure 2.1. Figure 2.1. Map of chapter 2 9 2.2 Problem Faced while Learning Python According to Trautman (2020), there are four phases that have been seen as the obstacles in learning programming. First is the feeling of hand-holding honeymoon where the new learner is overconfident with their knowledge gained. Next is the cliff of confusion stage which is also the frustrating and lost feeling evolving stage as the learner will feel like he is unable to do anything on his own. In this stage, learners will be losing confidence drastically, but they need to survive through this stage to be successful in learning programming. The third phase is the desert of despair in which the learners is unclear about the way to achieve their goal. Learner will feel lost in the sea of knowledge and facing difficulties to find the correct direction and even if they do, the time taken to get the results might be long. This is the stage where the learner will lose patience in learning programming. An upswing of awesome is the trickiest transition stage because a learner will start to doubt himself among professional and standard. Insufficient understanding of the successfully developed application is happening in this stage as the learner might not be clear about the mistake and suspicion made before it but was luckily solved the error. In fact, resource density and the scope of knowledge are the two key factors that affect the performance of learners in all phases. Resource density might seem to be many at first but will soon drop off fast. Graph in Figure 2.2 represented the resource density in each phase where the greater the line density, the greater the amount of the resources. Figure 2.2. Density of resources in each phase. Adopted from: Trautman, 2020. Retrieved from https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/. 10