[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3576882.3617922acmconferencesArticle/Chapter ViewAbstractPublication PagescompedConference Proceedingsconference-collections
research-article

FlowARP - Using Augmented Reality for Visualizing Control Flows in Programs

Published: 05 December 2023 Publication History

Abstract

There is a rise in the use of visual cues such as augmented reality and virtual reality to teach programming concepts and algorithms to novice programmers. These visualizations increase motivation among novice programmers, and also contribute to better conceptual understanding. For effective implementation of an algorithm or program, it is important to understand its flow of execution. The flow of an algorithm is commonly represented pictorially as a control flow graph (CFG) or as an abstract syntax tree (AST). However, existing representations are static in nature. Adding a dynamic aspect to the CFG to represent the flow of a program or an algorithm might ease the conceptual understanding. Integrating this dynamic CFG with augmented reality might also increase motivation among students in viewing and understanding various algorithms and programs. Hence, we present FlowARP, an augmented reality based visualization tool, to demonstrate the flow of programs. As a first step, we have designed FlowARP to support C/C++ programs and evaluated the usefulness of FlowARP through a user study with 44 undergraduate students, based on an amalgamated approach that assess usefulness and user perception. The results indicated that users were able to solve code-snippet based questions in lesser time, using FlowARP. However, we also observed that users take some amount of time to get accustomed to FlowARP.

References

[1]
Amr S Abdelfattah, Tomas Cerny, Davide Taibi, and Sira Vegas. 2023. Comparing 2D and Augmented Reality Visualizations for Microservice System Understandability: A Controlled Experiment. In Proceedings of the 31st IEEE/ACM International Conference on Program Comprehension.
[2]
Marin Abernethy, Oliver Sinnen, Joel Adams, Giuseppe De Ruvo, and Nasser Giacaman. 2018. ParallelAR: An augmented reality app and instructional approach for learning parallel programming scheduling concepts. In 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, 324--331.
[3]
Abdelbaset Almasri, Adel Ahmed, Naser Al-Masri, Yousef Abu Sultan, Ahmed Y Mahmoud, Ihab Zaqout, Alaa N Akkila, and Samy S Abu-Naser. 2019. Intelligent Tutoring Systems Survey for the Period 2000--2018. (2019).
[4]
Hakan Altinpulluk. 2019. Determining the trends of using augmented reality in education between 2006--2016. Education and Information Technologies 24, 2 (2019), 1089--1114.
[5]
Rachid Anane and Mohammad T Alshammari. 2020. A Dynamic Visualisation of the DES Algorithm and a Multi-faceted Evaluation of Its Educational Value. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education. 370--376.
[6]
Paulo Eduardo Battistella, Christiane Gresse Von Wangenheim, Aldo Von Wangenheim, and Jean Everson Martina. 2017. Design and Large-scale Evaluation of Educational Games for Teaching Sorting Algorithms. Informatics in Education 16, 2 (2017), 141--164.
[7]
Christopher Berns, Grace Chin, Joel Savitz, Jason Kiesling, and Fred Martin. 2019. MYR: A Web-Based Platform for Teaching Coding Using VR. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education. 77--83.
[8]
Brenda Cheang, Andy Kurnia, Andrew Lim, and Wee-Chong Oon. 2003. On automated grading of programming assignments in an academic institution. Computers & Education 41, 2 (2003), 121--131.
[9]
Jui-Sheng Chou, Wai K Chong, and Dac-Khuong Bui. 2016. Nature-inspired metaheuristic regression system: programming and implementation for civil engineering applications. Journal of Computing in Civil Engineering 30, 5 (2016), 04016007.
[10]
Sébastien Combéfis, Gytautas Beresnevivc ius, and Valentina Dagien.e. 2016. Learning programming through games and contests: overview, characterisation and discussion. Olympiads in Informatics 10, 1 (2016), 39--60.
[11]
Stephen Cooper, Wanda Dann, and Randy Pausch. 2000. Alice: a 3-D tool for introductory programming concepts. Journal of computing sciences in colleges 15, 5 (2000), 107--116.
[12]
Faruk Demir. 2022. The effect of different usage of the educational programming language in programming education on the programming anxiety and achievement. Education and Information Technologies 27, 3 (2022), 4171--4194.
[13]
Darina Dicheva, Austin Hodge, Christo Dichev, and Keith Irwin. 2016. On the design of an educational game for a Data Structures course. In 2016 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE). IEEE, 14--17.
[14]
Hoyama Maria dos Santos, Vinicius HS Durelli, Maurício Souza, Eduardo Figueiredo, Lucas Timoteo da Silva, and Rafael S Durelli. 2019. CleanGame: Gamifying the Identification of Code Smells. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering. 437--446.
[15]
Nardie LJA Fanchamps, Lou Slangen, Marcus Specht, and Paul Hennissen. 2021. The impact of SRA-programming on computational thinking in a visual oriented programming environment. Education and Information Technologies 26, 5 (2021), 6479--6498.
[16]
Gerald Futschek and Julia Moschitz. 2011. Learning algorithmic thinking with tangible objects eases transition to computer programming. In International conference on informatics in schools: Situation, evolution, and perspectives. Springer, 155--164.
[17]
Francisco J García-Peñalvo and Juan Cruz-Benito. 2016. Computational thinking in pre-university education. In Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing Multiculturality. 13--17.
[18]
J Paul Gibson. 2012. Teaching graph algorithms to children of all ages. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education. 34--39.
[19]
Philip J Guo. 2013. Online python tutor: embeddable web-based program visualization for cs education. In Proceeding of the 44th ACM technical symposium on Computer science education. 579--584.
[20]
Steven Halim. 2015. Visualgo--visualising data structures and algorithms through animation. Olympiads in Informatics (2015), 243.
[21]
Martina Holenko Dlab and Natasa Hoic-Bozic. 2021. Effectiveness of game development-based learning for acquiring programming skills in lower secondary education in Croatia. Education and Information Technologies 26, 4 (2021), 4433--4456.
[22]
Yue Hu, Chien-Yuan Su, and Anna Fu. 2022. Factors influencing younger adolescents' intention to use game-based programming learning: A multigroup analysis. Education and Information Technologies (2022), 1--31.
[23]
Lucy Jiang, Robert Rewcastle, Paul Denny, and Ewan Tempero. 2020. CompareCFG: Providing Visual Feedback on Code Quality Using Control Flow Graphs. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education. 493--499.
[24]
Elizabeth R Kazakoff, Amanda Sullivan, and Marina U Bers. 2013. The effect of a classroom-based intensive robotics and programming workshop on sequencing ability in early childhood. Early Childhood Education Journal 41, 4 (2013), 245--255.
[25]
Michael Kölling. 2010. The greenfoot programming environment. ACM Transactions on Computing Education (TOCE) 10, 4 (2010), 1--21.
[26]
Attila Krajcsi, Csaba Csapodi, and Eleonóra Stettner. 2021. Algotaurus: an educational computer programming game for beginners. Interactive Learning Environments 29, 4 (2021), 634--647.
[27]
Krzysztof Krawiec. 2002. Genetic programming-based construction of features for machine learning and knowledge discovery tasks. Genetic Programming and Evolvable Machines 3, 4 (2002), 329--343.
[28]
Xiaoyan Kui, Weiguo Liu, Jiazhi Xia, and Huakun Du. 2017. Research on the improvement of python language programming course teaching methods based on visualization. In 2017 12th International Conference on Computer Science and Education (ICCSE). IEEE, 639--644.
[29]
Pei-Hsuan Lin and Shih-Yeh Chen. 2020. Design and Evaluation of a Deep Learning Recommendation Based Augmented Reality System for Teaching Programming and Computational Thinking. IEEE Access 8 (2020), 45689--45699.
[30]
Andrew Luxton-Reilly, Emma McMillan, Elizabeth Stevenson, Ewan Tempero, and Paul Denny. 2018. Ladebug: an online tool to help novice programmers improve their debugging skills. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education. 159--164.
[31]
Natali Salazar Mesia, Cecilia Sanz, and Gladys Gorga. 2016. Augmented reality for programming teaching. Student satisfaction analysis. In 2016 International Conference on Collaboration Technologies and Systems (CTS). IEEE, 165--171.
[32]
Leonard Mselle and Fredrick Ishengoma. 2022. Memory transfer language as a tool for visualization-based-pedagogy. Education and Information Technologies (2022), 1--24.
[33]
Jacqueline Nijenhuis-Voogt, Durdane Bayram-Jacobs, Paulien C Meijer, and Erik Barendsen. 2020. Omnipresent yet elusive: Teachers' views on contexts for teaching algorithms in secondary education. Computer Science Education (2020), 1--30.
[34]
Jalal Nouri, Lechen Zhang, Linda Mannila, and Eva Norén. 2020. Development of computational thinking, digital competence and 21st century skills when learning programming in K-9. Education Inquiry 11, 1 (2020), 1--17.
[35]
Jungkook Park, Yeong Hoon Park, Suin Kim, and Alice Oh. 2017. Eliph: Effective Visualization of Code History for Peer Assessment in Programming Education. In Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing. 458--467.
[36]
Alvin Prasad, Kaylash Chaudhary, and Bibhya Sharma. 2022. Programming skills: Visualization, interaction, home language and problem solving. Education and Information Technologies 27, 3 (2022), 3197--3223.
[37]
Shruti Priya, Shubhankar Bhadra, Sridhar Chimalakonda, and Akhila Sri Manasa Venigalla. 2022. ML-Quest: a game for introducing machine learning concepts to K-12 students. Interactive Learning Environments (2022), 1--16.
[38]
Iulian Radu, Vivek Hv, and Bertrand Schneider. 2021. Unequal Impacts of Augmented Reality on Learning and Collaboration During Robot Programming with Peers. Proceedings of the ACM on Human-Computer Interaction 4, CSCW3 (2021), 1--23.
[39]
Mitchel Resnick, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, et al. 2009. Scratch: programming for all. Commun. ACM 52, 11 (2009), 60--67.
[40]
Jackson Lee Salling. 2015. Control flow graph visualization and its application to coverage and fault localization in Python. Ph.,D. Dissertation.
[41]
Marc Ericson C Santos, Angie Chen, Takafumi Taketomi, Goshiro Yamamoto, Jun Miyazaki, and Hirokazu Kato. 2013. Augmented reality learning experiences: Survey of prototype design and evaluation. IEEE Transactions on learning technologies 7, 1 (2013), 38--56.
[42]
Jon Schwartz, Jonah Stagner, and Walt Morrison. 2006. Kid's programming language (KPL). In ACM SIGGRAPH 2006 Educators program. 52--es.
[43]
Vaishali Sharma, Raghib Musarrat, Sridhar Chimalakonda, and Y Reddy. 2017. Muse: A Musically Inspired Game To Teach Arrays and Linked Lists. In Proceedings of the 25th International Conference on Computers in Education. 802--807.
[44]
Sirawit Sittiyuno and Kornchawal Chaipah. 2019. ARCode: Augmented Reality Application for Learning Elementary Computer Programming. In 2019 16th International Joint Conference on Computer Science and Software Engineering (JCSSE). IEEE, 32--37.
[45]
David Statter and Michal Armoni. 2016. Teaching abstract thinking in introduction to computer science for 7th graders. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education. 80--83.
[46]
Lihui Sun, Zhen Guo, and Danhua Zhou. 2022. Developing K-12 students' programming ability: A systematic literature review. Education and Information Technologies (2022), 1--39.
[47]
Kissinger Sunday, Seng Yue Wong, Balogun Oluwafemi Samson, and Ismaila Temitayo Sanusi. 2022. Investigating the effect of imikode virtual reality game in enhancing object oriented programming concepts among university students in Nigeria. Education and Information Technologies (2022), 1--27.
[48]
Thomas Suselo, Burkhard C Wünsche, and Andrew Luxton-Reilly. 2021. Using Mobile Augmented Reality for Teaching 3D Transformations. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education. 872--878.
[49]
John Sweller. 1988. Cognitive load during problem solving: Effects on learning. Cognitive science 12, 2 (1988), 257--285.
[50]
Oleg Sychev, Mikhail Denisov, and Grigory Terekhov. 2021. How it Works: Algorithms-A Tool for Developing an Understanding of Control Structures. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V.2. 621--622.
[51]
Chin-Hung Teng and Jr-Yi Chen. 2012. An augmented reality environment for learning OpenGL programming. In 2012 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing. IEEE, 996--1001.
[52]
Ladislav Végh and Veronika Stoffová. 2017. Algorithm Animations for Teaching and Learning the Main Ideas of Basic Sortings. Informatics in Education 16, 1 (2017), 121--140.
[53]
Akhila Sri Manasa Venigalla and Sridhar Chimalakonda. 2020. G4D-a treasure hunt game for novice programmers to learn debugging. Smart Learning Environments 7, 1 (2020), 1--21.
[54]
Akhila Sri Manasa Venigalla, Chaitanya S Lakkundi, and Sridhar Chimalakonda. 2020. PointerViz-Towards Visualizing Pointers for Novice Programmers. In Proceedings of the 53rd Hawaii International Conference on System Sciences.
[55]
Viswanath Venkatesh and Hillol Bala. 2008. Technology acceptance model 3 and a research agenda on interventions. Decision sciences 39, 2 (2008), 273--315.
[56]
Victor Winter, Michelle Friend, Michael Matthews, Betty Love, and Sanghamithra Vasireddy. 2019. Using Visualization to Reduce the Cognitive Load of Threshold Concepts in Computer Programming. In 2019 IEEE Frontiers in Education Conference (FIE). IEEE, 1--9.
[57]
Hsin-Kai Wu, Silvia Wen-Yu Lee, Hsin-Yi Chang, and Jyh-Chong Liang. 2013. Current status, opportunities and challenges of augmented reality in education. Computers & education 62 (2013), 41--49.
[58]
Jeong Yang, Youlg Lee, and Kai H Chang. 2017. Initial Evaluation of JaguarCode: A Web-Based Object-Oriented Programming Environment with Static and Dynamic Visualization. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T). IEEE, 152--161.
[59]
Jeong Yang, Young Lee, and Kai H Chang. 2018. Evaluations of JaguarCode: A web-based object-oriented programming environment with static and dynamic visualization. Journal of Systems and Software 145 (2018), 147--163.
[60]
Jeong Yang, Young Lee, and David Hicks. 2016. Synchronized static and dynamic visualization in a web-based programming environment. In 2016 IEEE 24th International Conference on Program Comprehension (ICPC). IEEE, 1--4.
[61]
Raja Jamilah Raja Yusof, Atika Qazi, and Irum Inayat. 2017. Student real-time visualization system in classroom using RFID based on UTAUT model. The International Journal of Information and Learning Technology (2017).
[62]
Jia-Hua Zhang, Bin Meng, Liu-Cong Zou, Yue Zhu, and Gwo-Jen Hwang. 2021. Progressive flowchart development scaffolding to improve university students' computational thinking and programming self-efficacy. Interactive Learning Environments (2021), 1--18. io

Index Terms

  1. FlowARP - Using Augmented Reality for Visualizing Control Flows in Programs

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CompEd 2023: Proceedings of the ACM Conference on Global Computing Education Vol 1
    December 2023
    180 pages
    ISBN:9798400700484
    DOI:10.1145/3576882
    Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 05 December 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. augmented reality
    2. code snippets
    3. control flow graph (CFG)
    4. novice programmers
    5. visualization

    Qualifiers

    • Research-article

    Conference

    CompEd 2023
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 33 of 100 submissions, 33%

    Upcoming Conference

    CompEd '25
    ACM Global Computing Education Conference 2025
    October 21 - 25, 2025
    Gaborone , Botswana

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 93
      Total Downloads
    • Downloads (Last 12 months)93
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 30 Dec 2024

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media