"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 students would find CSTutor helpful for learning data structures."
Sarah Buchanan, Brandon Ochs, and Joseph J. LaViola Jr.. 2012. CSTutor: a pen-based tutor for data structure visualization. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 565-570. DOI: https://doi.org/10.1145/2157136.2157297
1. SUMMARY
The paper describes a novel pen-based application for data structure visualization of which the main purpose is to bridge the gaps between conceptual diagrams and actual implementation. Drawings on a digital canvas will be translated into code and vice versa. Edits will be reflected accordingly and in the end, animations can be played to illustrate the workings of a particular data structure. Supported modes of interaction include: (doubly) linked lists, binary search trees, heaps, AVL trees.
2. STRENGTHS
This method stimulates different learning styles considering some students learn better by watching animated sequences rather than reading lines of codes. For that reason, CSTutor is an excellent tool to introduce data structure concepts to new students. The design of feedback loops also supports trial-n-error approach through fast experiments.
3. WEAKNESSES
The paper recognized several weaknesses including: limited support of programming language, limited support of data structures, not being able to represent several code-level mistakes such as infinite loops, referencing null pointers, etc. On that note, it is unclear whether the code-level bugs may be caused by the code-generator or not and if the code generator can distinguish between relevant and irrelevant drawings.