Effects of using problem-solving guide and explanatory support in program visualization tool on reducing students’ misconceptions in learning data structure concepts

Authors

  • Adam B Mtaho Arusha Technical College

DOI:

https://doi.org/10.31763/businta.v7i2.649

Keywords:

Misconceptions, Program visualization tool , Data structures, Explanatory support, Problem solving guide

Abstract

The tendency of novice programmers to hold misconceptions when learning data structures is one of the challenges that novice programmers face in computer science education. Holding misconceptions can result in students’ demotivation and high failure rates in learning the subject. This article presents the findings of an experimental study that was conducted to determine whether using the CeliotM Program visualization tool could help students learn CS 122 (data structures) at the College of Informatics and Virtual Education of the University of Dodoma with fewer misconceptions. The design chosen was a single factor between the experiment designs, with the number of errors committed by the students when writing programs as a dependent variable. The experimental group received instruction using the teaching technique employed by CeliotM, while the control group received instruction using the conventional lecture method. Results show that the use of CeliotM significantly reduced students misconceptions compared to the conventional lecture method. The study's important findings suggest that employing the CeliotM framework can help students understand data structures more effectively by minimizing their misconceptions and hence enhance their programming competencies.

References

P. Perera, G. Tennakoon, S. Ahangama, R. Panditharathna, and B. Chathuranga, “A Systematic Mapping of Introductory Programming Languages for Novice Learners,” IEEE Access, vol. 9, pp. 88121–88136, 2021, doi: 10.1109/ACCESS.2021.3089560.

D. McCall and M. Kölling, “A New Look at Novice Programmer Errors,” ACM Trans. Comput. Educ., vol. 19, no. 4, pp. 1–30, Dec. 2019, doi: 10.1145/3335814.

C. M. Kandemir, F. Kalelioğlu, and Y. Gülbahar, “Pedagogy of teaching introductory text‐based programming in terms of computational thinking concepts and practices,” Comput. Appl. Eng. Educ., vol. 29, no. 1, pp. 29–45, Jan. 2021, doi: 10.1002/cae.22374.

K. Kwon, “Novice programmer ’ s misconception of programming reflected on problem-solving plans,” vol. 1, no. 4, 2017, doi: 10.21585/ijcses.v1i4.19.

N. Shrestha, C. Botta, T. Barik, and C. Parnin, “Here we go again,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, Jun. 2020, pp. 691–701, doi: 10.1145/3377811.3380352.

R. Benatti, T. Aparecida, R. Azevedo, G. Gama, and T. Caldas, “An Antipattern Documentation about Misconceptions related to an Introductory Programming Course in C,” pp. 1-44, 2017. [Online]. Available at: https://ic.unicamp.br/~reltech/2017/17-15.pdf.

A. L. C. Barczak, A. Mathrani, B. Han, and N. H. Reyes, “Automated assessment system for programming courses: a case study for teaching data structures and algorithms,” Educ. Technol. Res. Dev., pp. 1–24, Aug. 2023, doi: 10.1007/s11423-023-10277-2.

M. Heinsen Egan and C. McDonald, “An evaluation of SeeC: a tool designed to assist novice C programmers with program understanding and debugging,” Comput. Sci. Educ., vol. 31, no. 3, pp. 340–373, Jul. 2021, doi: 10.1080/08993408.2020.1777034.

N. Burow et al., “Control-Flow Integrity,” ACM Comput. Surv., vol. 50, no. 1, pp. 1–33, Jan. 2018, doi: 10.1145/3054924.

M. Adam Basigie, “The Impact Of Combining Follow-Up Questions And Worked Examples In Program Visualization Tool On Improving Students’ Held Mental Models Of Pointers’ Value And Address Assignment,” Educ. Pedagog. J., no. 2(4), pp. 53–64, Dec. 2022, doi: 10.23951/2782-2575-2022-2-53-64.

S. Su, E. Zhang, P. Denny, and N. Giacaman, “A Game-Based Approach for Teaching Algorithms and Data Structures using Visualizations,” in Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, Mar. 2021, pp. 1128–1134, doi: 10.1145/3408877.3432520.

C. O’Farrelly, A. Booth, M. Tatlow-Golden, and B. Barker, “Reconstructing readiness: Young children’s priorities for their early school adjustment,” Early Child. Res. Q., vol. 50, pp. 3–16, 2020, doi: 10.1016/j.ecresq.2018.12.001.

C. Izu et al., “Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories,” in Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education, Dec. 2019, pp. 27–52, doi: 10.1145/3344429.3372501.

T. Scholtz and I. Sanders, “Mental Models of Recursion : Investigating Students ’ Understanding of Recursion,” pp. 103–107, 2010, doi: 10.1145/1822090.1822120.

R. Mccauley, S. Grissom, S. Fitzgerald, and L. Murphy, “Teaching and learning recursive programming : a review of the research literature,” Comput. Sci. Educ., vol. 3408, no. May, pp. 1–30, 2015, doi: 10.1080/08993408.2015.1033205.

E. Almadhoun and J. Parham-Mocello, “Identifying Student Misunderstandings About Singly Linked Lists in the C Programming Language,” in 2021 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Oct. 2021, vol. 2010-Octob, pp. 1–9, doi: 10.1109/VL/HCC51201.2021.9576162.

J. Sorva, “Notional Machines and Introductory Programming Education,” vol. 13, no. 2, 2013, doi: 10.1145/2483710.2483713.

T. Kohn and D. Komm, “Teaching Programming and Algorithmic Complexity with Tangible Machines,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 11169 LNCS, Springer Verlag, 2018, pp. 68–83, doi: 10.1007/978-3-030-02750-6_6.

E. Vrachnos and A. Jimoyiannis, “Secondary education students’ difficulties in algorithmic problems with arrays: An analysis using the SOLO taxonomy,” Themes Sci. Technol. Educ., vol. 10, no. 1, pp. 31–52, Dec. 2017. [Online]. Available at: http://earthlab.uoi.gr/.

N. J. Coull, “SNOOPIE : Development of a Learning Support Tool for Novice Programmers within a Conceptual Framework,” University of St Andrews, p. 237, 2008. [Online]. Available at: https://research-repository.st-andrews.ac.uk/handle/10023/522?show=full.

K. Shinohara, N. Jacobo, W. Pratt, and J. O. Wobbrock, “Design for Social Accessibility Method Cards,” ACM Trans. Access. Comput., vol. 12, no. 4, pp. 1–33, Dec. 2019, doi: 10.1145/3369903.

K. Romanowska, G. Singh, M. A. A. Dewan, and F. Lin, “Towards Developing an Effective Algorithm Visualization Tool for Online Learning,” in 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), Oct. 2018, no. March 2020, pp. 2011–2016, doi: 10.1109/SmartWorld.2018.00336.

A. Spanier, S. W. Harms, and J. Hastings, “A Classification Scheme for Gamification in Computer Science Education: Discovery of Foundational Gamification Genres in Data Structures Courses,” in 2021 IEEE Frontiers in Education Conference (FIE), Oct. 2021, vol. 2021-Octob, pp. 1–9, doi: 10.1109/FIE49875.2021.9637447.

T. J. Burns, S. C. Rios, T. K. Jordan, Q. Gu, and T. Underwood, “Analysis and Exercises for Engaging Beginners in Online {CTF} Competitions for Security Education.” p. 9, 2017. [Online]. Available at: https://www.usenix.org/conference/ase17/workshop-program/presentation/burns.

W. W. Yang, Shi, Krupal, Shah, “Toward Semi-Automatic Misconception Discovery Using Code, ” Association for Computing Machinery vol. 1, no. 1, p. 7 2021, doi: 10.1145/3448139.3448205.

L. Gusukuma et al., “Misconception-Driven Feedback : Results from an Experimental Study,” no. 1, pp. 160–168, 2018, doi: 10.1145/3230977.3231002.

T. J. McGill and S. E. Volet, “A conceptual framework for analyzing students’ knowledge of programming,” J. Res. Comput. Educ., vol. 29, no. 3, pp. 276–297, 1997, doi: 10.1080/08886504.1997.10782199.

Y. Qian and J. Lehman, “Students’ Misconceptions and Other Difficulties in Introductory Programming,” ACM Trans. Comput. Educ., vol. 18, no. 1, pp. 1–24, Mar. 2018, doi: 10.1145/3077618.

E. Fouh, M. Akbar, C. A. Shaffer, and V. Tech, “The Role of Visualization in Computer Science Education,” pp. 95–117, 2012, doi : 10.1080/07380569.2012.651422.

A. A. Supli, “Critical Analysis on Algorithm Visualization Study Critical Analysis on Algorithm Visualization Study,” no. October, pp. 18–22, 2016, doi: 10.5120/ijca2016911633.

S. Hamouda, S. H. Edwards, H. G. Elmongui, J. V Ernst, and C. A. Shaffer, “A basic recursion concept inventory,” Comput. Sci. Educ., vol. 27, no. 2, pp. 121–148, 2017, doi : 10.1080/08993408.2017.1414728.

L. Porter, D. Zingaro, C. Lee, C. Taylor, K. C. Webb, and M. Clancy, “Developing Course-Level Learning Goals for Basic Data Structures in CS2,” pp. 858–863, 2018, doi : 10.1145/3159450.3159457.

D. Zingaro, C. Taylor, L. Porter, M. Clancy, C. Lee, and K. C. Webb, “Identifying Student Difficulties with Basic Data Structures,” no. 169, pp. 169–177, 2018, doi : 10.1145/3230977.3231005.

E. Fouh et al., “Investigating Difficult Topics in a Data Structures Course Using Item Response Theory and Logged Data Analysis ∗,” pp. 370–375. [Online]. Available at : https://eric.ed.gov/?id=ED592711.

J. Sorva, V. Karavirta, and L. Malmi, “A Review of Generic Program Visualization Systems for Introductory,” vol. 13, no. 4, 2013, doi : 10.1145/2490822.

J. C. Spohrer, E. Soloway, and E. Pope, “Where The Bugs Are,” no. April, pp. 47–53, 1985, doi : 10.1145/1165385.317465.

J. C. Spohrer and E. Soloway, “Simulating Student Programmers.,” in IJCAI, 1989, vol. 89, pp. 543–549. [Online]. Available at : https://www.ijcai.org/Proceedings/89-1/Papers/087.pdf.

G. Yarmish and D. Kopec, “Revisiting Novice Programmer Errors,” vol. 39, no. 2, pp. 131–137, 2007, doi : 10.1145/1272848.1272896.

H. Danielsiek, W. Paul, and J. Vahrenhold, “Detecting and understanding students’ misconceptions related to algorithms and data structures,” in Proceedings of the 43rd ACM technical symposium on Computer Science Education, 2012, pp. 21–26, doi : 10.1145/2157136.2157148.

A. Decker and D. Simkins, “Uncovering Difficulties in Learning for the Intermediate Programmer,” 2016 IEEE Frontiers in Education Conference (FIE), pp. 1-8, 2016, doi : 10.1109/FIE.2016.7757446.

A. Moreno, E. Sutinen, and C. Islas Sedano, “A game concept using conflictive animations for learning programming,” in 2013 IEEE International Games Innovation Conference (IGIC), Sep. 2013, pp. 175–178, doi: 10.1109/IGIC.2013.6659161.

M. H. Egan and C. Mcdonald, “Program visualization and explanation for novice C programmers,” in Proceedings of the Sixteenth Australasian Computing Education Conference (ACE2014), 2014, pp. 51–57. [Online]. Available at : https://dl.acm.org/doi/pdf/10.5555/2667490.2667496.

M. J. Laakso, T. Rajala, E. Kaila, and T. Salakoski, “The impact of prior experience in using a visualization tool on learning to program,” IADIS Int. Conf. Cogn. Explor. Learn. Digit. Age, CELDA 2008, no. January, pp. 129–136, 2008, [Online]. Available at: https://www.researchgate.net/profile/Teemu-Rajala/publication/31597980_.

T. L. Naps et al., “Exploring the role of visualization and engagement in computer science education,” ACM SIGCSE Bull., vol. 35, no. 2, pp. 131–152, Jun. 2003, doi: 10.1145/782941.782998.

J. Sorva, V. Karavirta, and L. Malmi, “A review of generic program visualization systems for introductory programming education,” ACM Trans. Comput. Educ., vol. 13, no. 4, 2013, doi: 10.1145/2490822.

L. J. Mselle and H. Twaakyondo, “The impact of Memory Transfer Language (MTL) on reducing misconceptions in teaching programming to novices,” Int. J. Mach. Learn. Appl., 2012, doi: 10.4102/ijmla.v1i1.3.

P. Bellstrom and C. Thoren, “Learning how to program through visualization: A pilot study on the bubble sort algorithm,” in 2009 Second International Conference on the Applications of Digital Information and Web Technologies, 2009, pp. 90–94, doi : 10.1109/ICADIWT.2009.5273943.

L. Mselle and F. Ishengoma, “Memory transfer language as a tool for visualization-based-pedagogy,” Educ. Inf. Technol., vol. 27, no. 9, pp. 13089–13112, Nov. 2022, doi: 10.1007/s10639-022-11165-7.

T. Naps et al., “Evaluating the Educational Impact of Visualization,” pp. 124-136, 2003, doi : 10.1145/960875.960540.

C. D. Hundhausen, S. A. Douglas, and J. T. Stasko, “A meta-study of algorithm visualization effectiveness,” J. Vis. Lang. Comput., vol. 13, no. 3, pp. 259–290, 2002, doi: 10.1006/jvlc.2002.0237.

J. Urquiza-fuentes, V. E. L. Azquez-iturbide, U. Rey, and J. Carlos, “A Survey of Successful Evaluations of Program Visualization and Algorithm Animation Systems ∗,” vol. 9, no. June, 2009, doi : 10.1145/1538234.1538236.

E. De Corte, L. Verschaffel, and H. Schrooten, “Cognitive effects of learning to program in Logo: A one-year study with sixth graders,” in Computer-based learning environments and problem solving, 1992, pp. 207–228, doi : 10.1007/978-3-642-77228-3_10.

P. Denny et al., “On Designing Programming Error Messages for Novices : Readability and its Constituent Factors,” 1983, doi: 10.1145/3411764.3445696.

B. A. Becker et al., Compiler Error Messages Considered Unhelpful : The Landscape of Text-Based Programming Error Message Research. pp. 177 - 208, 2019, doi : 10.1145/3344429.3372508.

A. J. Ko and B. A. Myers, “A framework and methodology for studying the causes of software errors in programming systems,” J. Vis. Lang. Comput., vol. 16, no. 1-2 SPEC. ISS., pp. 41–84, 2005, doi: 10.1016/j.jvlc.2004.08.003.

B. Du Boulay, “Some difficulties of learning to program,” J. Educ. Comput. Res., vol. 2, no. 1, pp. 57–73, 1986, doi : 10.2190/3LFX-9RRF-67T8-UVK9.

D. Fossati, B. Di Eugenio, C. W. Brown, S. Ohlsson, D. G. Cosejo, and L. Chen, “Supporting Computer Science Curriculum : Exploring and Learning Linked Lists with iList,” vol. 2, no. 2, pp. 107–120, 2009, doi : 10.1109/TLT.2009.21.

M. Hristova, A. Misra, M. Rutter, and R. Mercuri, “Identifying and correcting Java programming errors for introductory computer science students,” ACM SIGCSE Bull., vol. 35, no. 1, pp. 153–156, 2003, doi : 10.1145/792548.611956.

G. Lund, “Quality aspects of the program development process used by learner programmers.” University of Abertay Dundee, p. 242, 2002. [Online]. Available at: https://rke.abertay.ac.uk/en/studentTheses/quality-aspects-of-the-program-development-process-used-by-learne.

E. Almadhoun and J. Parham-Mocello, “Exploratory Study on Accuracy of Students’ Mental Models of a Singly Linked List,” in 2021 IEEE Frontiers in Education Conference (FIE), 2021, pp. 1–9, doi : 10.1109/FIE49875.2021.9637318.

J. Sweller, “Element Interactivity and Intrinsic , Extraneous , and Germane Cognitive Load,” pp. 123–138, 2010, doi: 10.1007/s10648-010-9128-5

Downloads

Published

2023-11-28

How to Cite

Mtaho, A. B. (2023). Effects of using problem-solving guide and explanatory support in program visualization tool on reducing students’ misconceptions in learning data structure concepts. Bulletin of Social Informatics Theory and Application, 7(2), 125–140. https://doi.org/10.31763/businta.v7i2.649

Issue

Section

Articles

Similar Articles

You may also start an advanced similarity search for this article.