ABSTRACT
Background and Context
Recursion in binary trees has proven to be a hard topic. There was not much research on enhancing student understanding of this topic.
Objective
We present a tutorial to enhance learning through practice of recursive operations in binary trees, as it is typically taught post-CS2.
Method
We identified the misconceptions students have in recursive operations on binary trees. We designed a code writing exam question to measure those misconceptions. We built a tutorial that trains students on avoiding those misconceptions through the use of a semantic code analyzer that detects misconceptions and provides appropriate feedback.
Findings
Our results show an improvement in student performance when using the tutorial along with the practice exercises, and even more improvement when the same exercises are used with a semantic code analyzer.
Implications
The best way to use our tutorial to enhance student performance on advanced recursion is to allow students solving the tutorial exercises with the the semantic feedback.
Disclosure statement
No potential conflict of interest was reported by the authors.
Additional information
Funding
Notes on contributors
Sally Hamouda
Sally Hamouda is an Assistant Professor of Computer Science at Rhode Island College. She received her PhD from Virginia Tech. Dr. Hamouda's research area are Computer Science Education and Data mining. She is interested in discovering student misconceptions in different hard topics in CS and how to resolve them.
Stephen H. Edwards
Stephen H. Edwards is a Professor and the Associate Department Head for Undergraduate Studies in the Department of Computer Science at Virginia Tech, where he has been teaching since 1996. He received his B.S. in electrical engineering from Caltech, and M.S. and Ph.D. degrees in computer and information science from The Ohio State University. His research interests include computer science education, software testing, software engineering, and programming languages. He is the project lead for Web-CAT, the most widely used open-source automated grading system in the world. Web-CAT is known for allowing instructors to grade students based on how well they test their own code. In addition, his research group has produced a number of other open-source tools used in classrooms at many other institutions.
Hicham G. Elmongui
Hicham G. Elmongui is an Associate Professor, Department of Computer and Systems Engineering, Faculty of Engineering, Alexandria University. His research interests lie in the area of data engineering. Specifically, interested in query processing and optimization. Prof. Elmongui is interested in security engineering and the embedding of security business rules into the software development life cycle.
Jeremy V. Ernst
Jeremy V. Ernst is a Professor and Associate Dean for Research at Embry-Riddle University. He specializes in research focused on dynamic intervention means for STEM education students categorized as at-risk of dropping out of school. Dr. Ernst has teaching, advising, and research experiences in various capacities at the postsecondary and secondary levels.
Clifford A. Shaffer
Clifford A. Shaffer is an Associate Department Head for Graduate Studies and Professor of Computer Science at Virginia Tech. where he has been since 1987. He received his PhD from University of Maryland in 1986. Over his career, Dr. Shaffer's research efforts have spanned three major themes: Data structures and algorithms for spatial applications, integrated problem-solving environments for engineering and science applications (most notably for systems biology), and simulation and visualization for education (including Computer Science, Statistics, and Geography). He has been PI or Co-PI for over $10,000,000 in research funding. Dr. Shaffer has published nearly 200 journal and conference papers.