Abstract
Introductory programming can be challenging for teachers to teach and students to learn. Some of the learning challenges are linked to students’ inadequate prior programming background. As a result, introductory programming students commit syntactical or logical errors. Animation programs have been suggested and used as aiding tools for teaching and learning introductory programming concepts. However existing animation programs for teaching introductory programming concepts are limited, tend to focus on K12 computing education and are too generic. In this study, we developed a special animation program called Nested-Decider. Nested-Decider is a teaching and learning aid program for decisions/nested decisions, especially for struggling students studying text-based programming. In order to test Nested-Decider, we adopted an action research methodology where the actual struggling introductory programming students from the university participated. We grouped struggling students into experimental and control groups, where the experimental group was taught decision-statements with Nested-Decider and the control group was taught without Nested-Decider. Through pre-teaching and post-teaching algorithm exercises, we compared the results between the two groups and found significant improvement in the experimental group.
Keywords
- Teaching
- Learning
- Introductory programming
- Animations
- Decision statements
- Nested decision statements
- Struggling students
- Comprehension
This is a preview of subscription content, access via your institution.
Buying options


















References
Ramabu, T., Sanders, I., Schoeman, M.A.: Manipulatives for teaching introductory programming to struggling students: a case of nested decisions. In: Proceedings of the 13th International Conference on Computer Supported Education, pp. 505–510 (2021)
Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15(5), 107–116 (2000)
Resnick, M., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)
Tuparov, G., Tuparova, D., Tsarnakova, A.: Using interactive simulation-based learning objects in introductory course of programming. Procedia Soc. Behav. Sci. 46, 2276–2280 (2012)
Konecki, M., Lovrenčić, S., Kaniški, M.: Using real projects as motivators in programming education. In: 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), pp. 883–886. IEEE (2016)
Bennedsen, J., Caspersen, M.E.: Failure rates in introductory programming: 12 years later. ACM Inroads 10(2), 30–36 (2019)
Medeiros, R.P., Ramalho, G.L., Falcão, T.P.: A systematic literature review on teaching and learning introductory programming in higher education. IEEE Trans. Educ. 62(2), 77–90 (2018)
Sirkiä, T., Sorva, J.: Exploring programming misconceptions: an analysis of student mistakes in visual program simulation exercises. In: Proceedings of the 12th Koli Calling International Conference on Computing Education Research, pp. 19–28 (2012)
Altadmri, A., Brown, N.C.: 37 million compilations: investigating novice programming mistakes in large-scale student data. In: Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pp. 522–527 (2015)
Creswell, J.W.: Educational Research: Planning, Conducting, and Evaluating Quantitative, pp. 146–166. Prentice Hall, Upper Saddle River (2002)
Mills, G.E.: Action Research: A Guide for the Teacher Researcher. Prentice-Hall Inc., Upper Saddle River (2000)
Watson, C., Li, F.W.: Failure rates in introductory programming revisited. In: Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education, pp. 39–44 (2014)
Rum, S.N.M., Ismail, M.A.: Metocognitive support accelerates computer assisted learning for novice programmers. J. Educ. Technol. Soc. 20(3), 170–181 (2017)
Eckerdal, A., Thuné, M.: Novice Java programmers’ conceptions of object and class, and variation theory. ACM SIGCSE Bull. 37(3), 89–93 (2005)
Goldman, K., et al.: Identifying important and difficult concepts in introductory computing courses using a Delphi process. ACM SIGCSE Bull. 40(1), 256–260 (2008)
Schoeman, M., Gelderblom, H., Muller, H.: Investigating the effect of program visualization on introductory programming in a distance learning environment. African J. Res. Math. Sci. Technol. Educ. 17(1–2), 139–151 (2013)
Veerasamy, A.K., D’Souza, D., Laakso, M.J.: Identifying novice student programming misconceptions and errors from summative assessments. J. Educ. Technol. Syst. 45(1), 50–73 (2016)
Brown, N.C., Altadmri, A.: Novice Java programming mistakes: large-scale data vs. educator beliefs. ACM Trans. Comput. Educ. (TOCE) 17(2), 1–21 (2017)
Grover, S., Basu, S.: Measuring student learning in introductory block-based programming: examining misconceptions of loops, variables, and Boolean logic. In: Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, pp. 267–272 (2017)
Luxton-Reilly, A., et al.: Developing assessments to determine mastery of programming fundamentals. In: Proceedings of the 2017 ITiCSE Conference on Working Group Reports, pp. 47–69. ACM (2018)
Cetin, I.: Teaching loops concept through visualization construction. Inform. Educ.-An Int. J. 19(4), 589–609 (2020)
Moreno, A., Sutinen, E., Joy, M.: Defining and evaluating conflictive animations for programming education: the case of Jeliot ConAn. In: Proceedings of the 45th ACM Technical Symposium on Computer Science Education, pp. 629–634 (2014)
Levy, R.B.B., Ben-Ari, M., Uronen, P.A.: An extended experiment with Jeliot 2000. In: Proceedings of the First International Program Visualization Workshop, Porvoo, Finland, pp. 131–140 (2000)
Haajanen, J., Pesonius, M., Sutinen, E., Tarhio, J., Terasvirta, T., Vanninen, P.: Animation of user algorithms on the web. In: Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No. 97TB100180), pp. 356–363. IEEE (1997)
Levy, R.B.B., Ben-Ari, M., Uronen, P.A.: The Jeliot 2000 program animation system. Comput. Educ. 40(1), 1–15 (2003)
Jadud, M.C.: A first look at novice compilation behaviour using BlueJ. Comput. Sci. Educ. 15(1), 25–40 (2005)
Mladenović, M., Boljat, I., Žanko, Ž: Comparing loops misconceptions in block-based and text-based programming languages at the K-12 level. Educ. Inf. Technol. 23(4), 1483–1500 (2017). https://doi.org/10.1007/s10639-017-9673-3
Osman, W.I., Elmusharaf, M.M.: Effectiveness of combining algorithm and program animation: a case study with data structure course. Issues Inf. Sci. Inf. Technol. 11, 155–168 (2014)
Sajaniemi, J., Kuittinen, M.: Program animation based on the roles of variables. In: Proceedings of the 2003 ACM Symposium on Software Visualization, p. 7-ff (2003)
Shi, N., Min, Z., Zhang, P.: Effects of visualizing roles of variables with animation and IDE in novice program construction. Telematics Inform. 34(5), 743–754 (2017)
Faisal, M., Yuana, R., Basori, M.: Comparative study between Robomind and Scratch as programming assistance tool in improving understanding of the basic programming concepts. Atlantis-Press, pp. 787–797 (2017)
Yuana, R.A., Maryono, D.: Robomind utilization to improve student motivation and concept in learning programming. In: Proceeding of International Conference on Teacher Training and Education, vol. 1, no. 1 (2016)
Moreno, A., Joy, M.S.: Jeliot 3 in a demanding educational setting. Electron. Notes Theoret. Comput. Sci. 178, 51–59 (2007)
Ensmenger, N.: The multiple meanings of a flowchart. Inf. Cult. 51(3), 321–351 (2016)
Chapin, N.: Flowchart. In: Encyclopedia of Computer Science, pp. 714–716 (2003)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Ramabu, T., Sanders, I., Schoeman, M. (2022). Nested-Decider: An Animation Program for Aiding Teaching and Learning of Decisions/Nested Decisions. In: Barnett, R.J., le Roux, D.B., Parry, D.A., Watson, B.W. (eds) ICT Education. SACLA 2022. Communications in Computer and Information Science, vol 1664. Springer, Cham. https://doi.org/10.1007/978-3-031-21076-1_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-21076-1_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21075-4
Online ISBN: 978-3-031-21076-1
eBook Packages: Computer ScienceComputer Science (R0)