We present CSTutor, a sketch-based interface designed to help students understand data structures. It currently supports Linked Lists, Binary Search Trees, AVL Trees, and Heaps, and creates an environment in which a user’s sketched diagram and code are combined seamlessly. In each of the data structure modes, the user can naturally sketch a data structure on the canvas just as they would on the white board. CSTutor analyzes the user’s diagrams in real time, and automatically generates code in a separate code view to reflect any changes the user has made. Additionally, the code can also be edited and any new code changes animate the data structure drawn on the canvas. The connection between the data structure drawn on the canvas and the code implementation is intended to bridge the gap between the conceptual diagram of a data structure and the actual implementation. We also present the results of a perceived usefulness survey. The results of the study indicate that the majority of...
Sarah Buchanan, Brandon Ochs, Joseph J. LaViola Jr