6 CONCLUSIONS
We discussed the importance and difficulty of teach-
ing recursion to novice computer science students.
Different approaches to teaching recursion were also
discussed, with a focus on conceptual and visual mod-
els. Our approach to teaching recursion in ChiQat-
Tutor was then introduced. Results from our exper-
iments showed that answering questions, animation,
tracing tasks have significant correlation with learn-
ing. The validating task has a trend towards signifi-
cant. The constructing task didn’t have a significant
effect on learning, and this may due the small number
of students who managed to attempt the task. These
results suggest that interactive visual representation of
recursion algorithms may help students learn. More
work is needed in order to help students develop ac-
curate mental models of recursion. Future work will
be focused on adding structured templates for writing
code, scripting capabilities, intelligent feedback, and
student modeling.
ACKNOWLEDGEMENTS
This work is supported by award NPRP 5–939–1–155
from the Qatar National Research Fund, and is partly
supported by a UIC University Scholar award to Di
Eugenio.
REFERENCES
Bower, R. W. (1998). An investigation of a manipulative
simulation in the learning of recursive programming.
Dann, W., Cooper, S., and Pausch, R. (2001). Using visual-
ization to teach novices recursion. In Proceedings of
the 6th annual conference on Innovation and technol-
ogy in computer science education, pages 109–112.
Edgington, J. (2007). Teaching and viewing recursion as
delegation. J. Comput. Sci. Coll., 23(1):241–246.
Ford, G. (1984). An implementation-independent ap-
proach to teaching recursion. ACM SIGCSE Bulletin,
16(1):213–216.
Ginat, D. and Shifroni, E. (1999). Teaching recursion in
a procedural environment—how much should
we emphasize the computing model? SIGCSE Bull.,
31(1):127–131.
G
¨
otschi, T., Sanders, I., and Galpin, V. (2003). Mental mod-
els of recursion. SIGCSE Bull., 35(1):346–350.
Hake, R. R. (1998). Interactive-engagement versus tra-
ditional methods: A six-thousand-student survey of
mechanics test data for introductory physics courses.
American journal of Physics, 66(1):64–74.
Hamouda, S., Edwards, S. H., Elmongui, H. G., Ernst, J. V.,
and Shaffer, C. A. (2019). Recurtutor: an interactive
tutorial for learning recursion. ACM Transactions on
Computing Education (TOCE), 19(1):1.
Hundhausen, C. D., Douglas, S. A., and Stasko, J. T.
(2002). A meta-study of algorithm visualization effec-
tiveness. Journal of Visual Languages & Computing,
13(3):259–290.
Kahney, H. (1983). What do novice programmers know
about recursion. In Proceedings of the SIGCHI Con-
ference on Human Factors in Computing Systems,
CHI ’83, pages 235–239, New York, NY, USA. ACM.
Kehoe, C., Stasko, J., and Taylor, A. (2001). Rethink-
ing the evaluation of algorithm animations as learning
aids: an observational study. International Journal of
Human-Computer Studies, 54(2):265–284.
McCauley, R., Grissom, S., Fitzgerald, S., and Murphy,
L. (2015). Teaching and learning recursive program-
ming: a review of the research literature. Computer
Science Education, 25(1):37–66.
Pirolli, P. L. and Anderson, J. R. (1985). The role of
learning from examples in the acquisition of recursive
programming skills. Canadian Journal of Psychol-
ogy/Revue canadienne de psychologie, 39(2):240.
Rinderknecht, C. (2014). A survey on teaching and learn-
ing recursive programming. Informatics in Education,
13(1):87–119.
Sa, L. and Hsin, W.-J. (2010). Traceable recursion with
graphical illustration for novice programmers. In-
Sight: A Journal of Scholarly Teaching, 5:54–62.
Stasko, J., Badre, A., and Lewis, C. (1993). Do algorithm
animations assist learning?: An empirical study and
analysis. In Proceedings of the INTERACT ’93 and
CHI ’93 Conference on Human Factors in Computing
Systems, CHI ’93, pages 61–66, New York, NY, USA.
ACM.
Tessler, J., Beth, B., and Lin, C. (2013). Using cargo-bot to
provide contextualized learning of recursion. In Pro-
ceedings of the Ninth Annual International ACM Con-
ference on International Computing Education Re-
search, ICER ’13, pages 161–168, New York, NY,
USA. ACM.
Turbak, F., Royden, C., Stephan, J., and Herbst, J. (1999).
Teaching recursion before loops in cs1. Journal of
Computing in Small Colleges, 14(4):86–101.
Wilcocks, D. and Sanders, I. (1994). Animating recur-
sion as an aid to instruction. Computers & Education,
23(3):221 – 226.
Wu, C.-C., Dale, N. B., and Bethel, L. J. (1998). Concep-
tual models and cognitive learning styles in teaching
recursion. SIGCSE Bull., 30(1):292–296.
Learning Recursion: Insights from the ChiQat Intelligent Tutoring System
343