Back to results

Virginia Tech

Enhancing Learning of Recursion

Abstract

dc:description.abstract

Recursion is one of the most important and hardest topics in lower division computer science courses. As it is an advanced programming skill, the best way to learn it is through targeted practice exercises. But the best practice problems are hard to grade. As a consequence, students experience only a small number of problems. The dearth of feedback to students regarding whether they understand the material compounds the difficulty of teaching and learning CS2 topics. We present a new way for teaching such programming skills. Students view examples and visualizations, then practice a wide variety of automatically assessed, small-scale programming exercises that address the sub-skills required to learn recursion. The basic recursion tutorial (RecurTutor) teaches material typically encountered in CS2 courses. The advanced recursion in binary trees tutorial (BTRecurTutor) covers advanced recursion techniques most often encountered post CS2. It provides detailed feedback on the students' programming exercise answers by performing semantic code analysis on the student's code. Experiments showed that RecurTutor supports recursion learning for CS2 level students. Students who used RecurTutor had statistically significant better grades on recursion exam questions than did students who used a typical instruction. Students who experienced RecurTutor spent statistically significant more time on solving programming exercises than students who experienced typical instruction, and came out with a statistically significant higher confidence level. As a part of our effort in enhancing recursion learning, we have analyzed about 8000 CS2 exam responses on basic recursion questions. From those we discovered a collection of frequently repeated misconceptions, which allowed us to create a draft concept inventory that can be used to measure student's learning of basic recursion skills. We analyzed about 600 binary tree recursion programming exercises from CS3 exam responses. From these we found frequently recurring misconceptions. The main goal of this work is to enhance the learning of recursion. On one side, the recursion tutorials aim to enhance student learning of this topic through addressing the main misconceptions and allow students to do enough practice. On the other side, the recursion concept inventory assesses independently student learning of recursion regardless of the instructional methods.

Degree

thesis:*
Name thesis:degree_name
Ph. D.
Level thesis:degree_level
doctoral
Discipline thesis:degree_discipline
Computer Science and Applications
Department dc:contributor.department
Computer Science
Grantor dc:publisher
Virginia Tech
Year dc:date.issued
2015

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Hamouda, Sally
Chairs dc:contributor.committeechair
  • Shaffer, Clifford A.
  • Elmongui, Hicham Galal
Committee members dc:contributor.committeemember
  • Prakash, B. Aditya
  • Edwards, Stephen H.
  • Ernst, Jeremy V.

Subjects

dc:subject × 5

Rights

dc:rights
Statement dc:rights
  • In Copyright

Identifiers

dc:identifier.*
Dc Identifier Other
vt_gsexam:6691
OAI identifier oai:identifier
oai:vtechworks.lib.vt.edu:10919/64249

Chain of custody

source
Harvested from
Virginia Tech
Base URL
vtechworks.lib.vt.edu/oai/request
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Hamouda, Sally. Enhancing Learning of Recursion. doctoral thesis, Virginia Tech, 2015. http://hdl.handle.net/10919/64249