Authors:
Omar Alzoubi
1
;
Barbara Di Eugenio
2
;
Davide Fossati
3
;
Nicholas Green
2
and
Mehrdad Alizadeh
2
Affiliations:
1
Jordan University of Science and Technology, Jordan
;
2
University of Illinois at Chicago, U.S.A.
;
3
Emory University, U.S.A.
Keyword(s):
Recursion, Intelligent Tutoring Systems, Computer Science Education.
Abstract:
Recursion is a difficult concept to teach, and novice programmers struggle Learning it. The reasons include unfamiliarity with activities associated with analyzing recursion, such as visualizing program execution and difficulty understanding its back flow of control. In this paper we discuss approaches to teaching recursion that includes conceptual and program visualization methods. We also describe the recursion module of our ChiQat-Tutor system which relies on ideas from both approaches. We designed several activities that allow students to work on recursive problems: answering questions, animations, code tracing, validation, and construction tasks. We conducted four evaluation experiments at two different institutions, with a total of 89 students taking introductory Computer Science courses. We hypothesized that ChiQat-Tutor can help novice Computer Science students learn recursion, develop accurate mental models of recursion, and serve as an effective visualization tool with whic
h hidden features of recursion can become evident. Our results showed some evidence that the animation, answering questions, code tracing, and validation tasks exhibit a trend towards significant learning gains.
(More)