{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,8]],"date-time":"2026-02-08T07:08:11Z","timestamp":1770534491472,"version":"3.49.0"},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2012,11,1]],"date-time":"2012-11-01T00:00:00Z","timestamp":1351728000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-06-27354CNS-07-09217CCF-08-46059CCF-11-17936"],"award-info":[{"award-number":["CNS-06-27354CNS-07-09217CCF-08-46059CCF-11-17936"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","award":["CNS-06-27354CNS-07-09217CCF-08-46059CCF-11-17936"],"award-info":[{"award-number":["CNS-06-27354CNS-07-09217CCF-08-46059CCF-11-17936"]}],"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":[[2012,11]]},"abstract":"<jats:p>Students in all areas of computing require knowledge of the computing device including software implementation at the machine level. Several courses in computer science curricula address these low-level details such as computer architecture and assembly languages. For such courses, there are advantages to studying real architectures instead of simplified examples. However, real architectures and instruction sets introduce complexity that makes them difficult to grasp in a single semester course. Visualization techniques can help ease this burden, unfortunately existing tools are often difficult to use and consequently difficult to adopt in a course where time is already limited. To solve this problem, we present Frances. Frances graphically illustrates key differences between familiar high-level languages and unfamiliar low-level languages and also illustrates how familiar high-level programs behave on real architectures. Key to this tool is that we use a simple Web interface that requires no setup, easing course adoption hurdles. We also include several features that further enhance its usefulness in a classroom setting. These features include graphical relationships between high-level code and machine code, clearly illustrated step-by-step machine state transitions, color coding to make instruction behavior clear, and illustration of pointers. We have used Frances in courses and performed experimental evaluation. Our experiences with Frances in the classroom demonstrate its usability. Most notably, in our experimental setting, students with no computer architecture course experience were able to complete lessons using Frances with no guidance.<\/jats:p>","DOI":"10.1145\/2382564.2382566","type":"journal-article","created":{"date-parts":[[2012,12,4]],"date-time":"2012-12-04T20:10:57Z","timestamp":1354651857000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Frances"],"prefix":"10.1145","volume":"12","author":[{"given":"Tyler","family":"Sondag","sequence":"first","affiliation":[{"name":"Iowa State University"}]},{"given":"Kian L.","family":"Pokorny","sequence":"additional","affiliation":[{"name":"McKendree University"}]},{"given":"Hridesh","family":"Rajan","sequence":"additional","affiliation":[{"name":"Iowa State University"}]}],"member":"320","published-online":{"date-parts":[[2012,11]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"AbsInt. 2012 aiSee - Graph visualization. http:\/\/www.absint.com\/aisee\/. AbsInt . 2012 aiSee - Graph visualization. http:\/\/www.absint.com\/aisee\/."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/381841.381847"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/800028.808479"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the Workshop on Computer Architecture Evaluation Using Commercial Workloads (CAECW\u201903)","author":"Binkert N. L."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1124706.1121416"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/514144.514730"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/364447.364583"},{"key":"e_1_2_1_8_1","unstructured":"CC. 2008. Computing curricula 2008: An interim revision of CS 2001. http:\/\/www.acm.org\/education\/curricula\/ComputerScience2008.pdf. CC . 2008. Computing curricula 2008: An interim revision of CS 2001. http:\/\/www.acm.org\/education\/curricula\/ComputerScience2008.pdf."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1275165.1275173"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/262171.262209"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1352135.1352153"},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","unstructured":"Ellson J. Gansner E. R. Koutsofios E. North S. C. and Woodhull G. 2001. Graphviz - Open source graph drawing tools. Graph Drawing 483--484. Ellson J. Gansner E. R. Koutsofios E. North S. C. and Woodhull G. 2001. Graphviz - Open source graph drawing tools. Graph Drawing 483--484.","DOI":"10.1007\/3-540-45848-4_57"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.2190\/EC.39.1.a"},{"key":"e_1_2_1_14_1","unstructured":"Free Software Foundation. 2009. GNU BinUtils: A collection of binary tools. http:\/\/www.gnu.org\/software\/binutils\/. Free Software Foundation . 2009. GNU BinUtils: A collection of binary tools. http:\/\/www.gnu.org\/software\/binutils\/."},{"key":"e_1_2_1_15_1","volume-title":"GDB: The GNU project debugger","author":"Free Software Foundation","year":"2010"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1734263.1734268"},{"key":"e_1_2_1_17_1","unstructured":"Graham N. 1985. Introduction to Computer Science 3rd Ed. West Publishing Co. St. Paul MN. Graham N. 1985. Introduction to Computer Science 3rd Ed. West Publishing Co. St. Paul MN."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0360-1315(02)00044-1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1275571.1275602"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/13.2306"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_2_1_22_1","first-page":"80","article-title":"Supporting the rapid development of pedagogically effective algorithm visualizations","volume":"23","author":"McNally M.","year":"2007","journal-title":"J. Comput. Sci. Coll."},{"key":"e_1_2_1_23_1","unstructured":"Muchnick S. S. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc. San Francisco CA. Muchnick S. S. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc. San Francisco CA."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/960568.782998"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2008.930097"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/982753.982754"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/271014.271015"},{"key":"e_1_2_1_28_1","volume-title":"Computing Systems: From Bits & Gates to C & Beyond","author":"Patt Y. N.","year":"2004","edition":"2"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the International Seminar on Software Visualization (Revised Lectures). Springer-Verlag","author":"Pauw W. D."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1124706.1121514"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.1993.1015"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/774833.774842"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/290320.283123"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1538234.1538235"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/611892.611968"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/318242.318464"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605403"},{"key":"e_1_2_1_38_1","unstructured":"Sixt J. 2010. A graphical debugger interface. http:\/\/www.kdbg.org\/. Sixt J. 2010. A graphical debugger interface. http:\/\/www.kdbg.org\/."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2010.8"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the 9th Annual IEEE\/ACM International Symposium on Code Generation and Optimization (CGO\u201911)","author":"Sondag T."},{"key":"e_1_2_1_41_1","unstructured":"Stallings W. 2010. Computer Organization and Architecture: Designing for Performance 8th Ed. Pearson Education Inc. Upper Saddle River NJ. Stallings W. 2010. Computer Organization and Architecture: Designing for Performance 8th Ed. Pearson Education Inc. Upper Saddle River NJ."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1189136.1189166"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1409720.1409729"},{"key":"e_1_2_1_44_1","unstructured":"The Informatik Centrum Dortmund (ICD). ICD-C compiler framework. http:\/\/www.icd.de\/es\/icd-c\/. The Informatik Centrum Dortmund (ICD) . ICD-C compiler framework. http:\/\/www.icd.de\/es\/icd-c\/."},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the Conference on Information Processing in Sensor Networks (IPSN\u201905)","author":"Titzer B."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1538234.1538236"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1352135.1352239"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1577129.1577132"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1047124.1047391"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2382564.2382566","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2382564.2382566","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:34:38Z","timestamp":1750239278000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2382564.2382566"}},"subtitle":["A Tool for Understanding Computer Architecture and Assembly Language"],"short-title":[],"issued":{"date-parts":[[2012,11]]},"references-count":49,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2012,11]]}},"alternative-id":["10.1145\/2382564.2382566"],"URL":"https:\/\/doi.org\/10.1145\/2382564.2382566","relation":{},"ISSN":["1946-6226"],"issn-type":[{"value":"1946-6226","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,11]]},"assertion":[{"value":"2011-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}