{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,2]],"date-time":"2026-05-02T08:23:40Z","timestamp":1777710220149,"version":"3.51.4"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2014,3,1]],"date-time":"2014-03-01T00:00:00Z","timestamp":1393632000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000145","name":"Division of Information and Intelligent Systems","doi-asserted-by":"publisher","award":["IIS-0845921, IIS-0856045, CCF-1012056"],"award-info":[{"award-number":["IIS-0845921, IIS-0856045, CCF-1012056"]}],"id":[{"id":"10.13039\/100000145","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","award":["IIS-0845921, IIS-0856045, CCF-1012056"],"award-info":[{"award-number":["IIS-0845921, IIS-0856045, CCF-1012056"]}],"id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2014,3]]},"abstract":"<jats:p>We present CSTutor, a sketch-based interface designed to help students understand data structures, specifically Linked Lists, Binary Search Trees, AVL Trees, and Heaps. CSTutor creates an environment that seamlessly combines a user\u2019s sketched diagram and code. In each of these data structure modes, the user can naturally sketch a data structure on the canvas just as they would on a white board. CSTutor analyzes the user\u2019s 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 will 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 two semester-long studies using CSTutor in a CS1 course. The results indicate that students preferred CSTutor and were more engaged using it than a standard whiteboard lecture; however, results were mixed in quiz and exam performance.<\/jats:p>","DOI":"10.1145\/2535909","type":"journal-article","created":{"date-parts":[[2014,4,1]],"date-time":"2014-04-01T13:06:54Z","timestamp":1396357614000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["CSTutor"],"prefix":"10.1145","volume":"14","author":[{"given":"Sarah","family":"Buchanan","sequence":"first","affiliation":[{"name":"University of Central Florida"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"suffix":"Jr.","given":"Joseph J.","family":"Laviola","sequence":"additional","affiliation":[{"name":"University of Central Florida"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,3]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/792548.611959"},{"key":"e_1_2_1_2_1","volume-title":"Wobbrock","author":"Anthony Lisa","year":"2010","unstructured":"Lisa Anthony and Jacob O . Wobbrock . 2010 . A lightweight multistroke recognizer for user interface prototypes. In Proceedings of Graphics Interface (GI) . 245--252. Lisa Anthony and Jacob O. Wobbrock. 2010. A lightweight multistroke recognizer for user interface prototypes. In Proceedings of Graphics Interface (GI). 245--252."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1789934.1789938"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1985.229778"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2157136.2157297"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0360-1315(99)00023-8"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the International Symposium on Sketch-Based Interfaces and Modeling (SBIM). 47--56","author":"Travis","unstructured":"Travis J. Cossairt and Joseph J. LaViola, Jr. 2012. SetPad: A sketch-based tool for exploring discrete math set problems . In Proceedings of the International Symposium on Sketch-Based Interfaces and Modeling (SBIM). 47--56 . Travis J. Cossairt and Joseph J. LaViola, Jr. 2012. SetPad: A sketch-based tool for exploring discrete math set problems. In Proceedings of the International Symposium on Sketch-Based Interfaces and Modeling (SBIM). 47--56."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1268784.1268869"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/218683.218689"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1227310.1227316"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1538234.1538240"},{"key":"e_1_2_1_12_1","first-page":"32","article-title":"JHAVEPOP: Visualizing linked-list operations in C++ and Java","volume":"25","author":"Furcy David","year":"2009","unstructured":"David Furcy . 2009 . JHAVEPOP: Visualizing linked-list operations in C++ and Java . J. Comput. Sci. Colleges 25 , 32 -- 41 . David Furcy. 2009. JHAVEPOP: Visualizing linked-list operations in C++ and Java. J. Comput. Sci. Colleges 25, 32--41.","journal-title":"J. Comput. Sci. Colleges"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/774833.774846"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1185657.1185786"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jvlc.2006.03.002"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.2002.0237"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2166966.2167014"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0360-1315(97)00015-8"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 3rd Program Visualization Workshop. 26--33","author":"Karavirta Ville","year":"2004","unstructured":"Ville Karavirta , Ari Korhonen , Lauri Malmi , and Kimmo St\u00e5lnacke . 2004 . MatrixPro-A tool for on-the-fly demonstration of data structures and algorithms . In Proceedings of the 3rd Program Visualization Workshop. 26--33 . Ville Karavirta, Ari Korhonen, Lauri Malmi, and Kimmo St\u00e5lnacke. 2004. MatrixPro-A tool for on-the-fly demonstration of data structures and algorithms. In Proceedings of the 3rd Program Visualization Workshop. 26--33."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1006\/ijhc.2000.0409"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the IEEE Symposium on Visual Languages. 48--54","author":"Lawrence A. W.","unstructured":"A. W. Lawrence , A. M. Badre , and J. T. Stasko . 1994. Empirically evaluating the use of animations to teach algorithms . In Proceedings of the IEEE Symposium on Visual Languages. 48--54 . A. W. Lawrence, A. M. Badre, and J. T. Stasko. 1994. Empirically evaluating the use of animations to teach algorithms. In Proceedings of the IEEE Symposium on Visual Languages. 48--54."},{"key":"e_1_2_1_22_1","unstructured":"Andrea W. Lawrence. 1993. Empirical studies of the value of algorithm animation in algorithm understanding. Tech. rep. DTIC Document.  Andrea W. Lawrence. 1993. Empirical studies of the value of algorithm animation in algorithm understanding. Tech. rep. DTIC Document."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2021164.2021166"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/989863.989928"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/331795.331829"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/960568.782998"},{"key":"e_1_2_1_27_1","first-page":"267","article-title":"Visual algorithm simulation exercise system with automatic assessment: TRAKLA2","volume":"3","author":"Nikander Jussi","year":"2004","unstructured":"Jussi Nikander , Ari Korhonen , Otto Sepp\u00e4l\u00e4 , Ville Karavirta , Panu Silvasti , and Lauri Malmi . 2004 . Visual algorithm simulation exercise system with automatic assessment: TRAKLA2 . Inform. Educ. Intern. J. 3 , 2, 267 -- 288 . Jussi Nikander, Ari Korhonen, Otto Sepp\u00e4l\u00e4, Ville Karavirta, Panu Silvasti, and Lauri Malmi. 2004. Visual algorithm simulation exercise system with automatic assessment: TRAKLA2. Inform. Educ. Intern. J. 3, 2, 267--288.","journal-title":"Inform. Educ. Intern. J."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2157136.2157296"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10956-010-9218-7"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2362364.2362370"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1539024.1508927"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications (ED-MEDIA).","author":"Qiu L.","year":"2007","unstructured":"L. Qiu . 2007 . SketchUML: The design of a sketch-based tool for UML class diagrams . In Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications (ED-MEDIA). L. Qiu. 2007. SketchUML: The design of a sketch-based tool for UML class diagrams. In Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications (ED-MEDIA)."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 1st International Program Visualization Workshop. 41--52","author":"R\u00f6\u00dfling G.","unstructured":"G. R\u00f6\u00dfling and B. Freisleben . 2001. Program visualization using AnimalScript . In Proceedings of the 1st International Program Visualization Workshop. 41--52 . G. R\u00f6\u00dfling and B. Freisleben. 2001. Program visualization using AnimalScript. In Proceedings of the 1st International Program Visualization Workshop. 41--52."},{"key":"e_1_2_1_34_1","volume-title":"Data Structures, Algorithms, and Software Principles in C","author":"Standish Thomas A.","unstructured":"Thomas A. Standish . 1995. Data Structures, Algorithms, and Software Principles in C . Addison-Wesley , Reading, MA . Thomas A. Standish. 1995. Data Structures, Algorithms, and Software Principles in C. Addison-Wesley, Reading, MA."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.58216"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/130956.130959"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the INTERACT and CHI Conference on Human Factors in Computing Systems (CHI). 61--66","author":"Stasko John","year":"1993","unstructured":"John Stasko , Albert Badre , and Clayton Lewis . 1993 . Do algorithm animations assist learning? An empirical study and analysis . In Proceedings of the INTERACT and CHI Conference on Human Factors in Computing Systems (CHI). 61--66 . John Stasko, Albert Badre, and Clayton Lewis. 1993. Do algorithm animations assist learning? An empirical study and analysis. In Proceedings of the INTERACT and CHI Conference on Human Factors in Computing Systems (CHI). 61--66."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2325296.2325340"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2325296.2325311"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1572741.1572759"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-89962-4_6"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2535909","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2535909","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:10:06Z","timestamp":1750234206000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2535909"}},"subtitle":["A Sketch-Based Tool for Visualizing Data Structures"],"short-title":[],"issued":{"date-parts":[[2014,3]]},"references-count":41,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2014,3]]}},"alternative-id":["10.1145\/2535909"],"URL":"https:\/\/doi.org\/10.1145\/2535909","relation":{},"ISSN":["1946-6226"],"issn-type":[{"value":"1946-6226","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,3]]},"assertion":[{"value":"2012-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}