{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,14]],"date-time":"2026-02-14T05:06:57Z","timestamp":1771045617477,"version":"3.50.1"},"reference-count":54,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2021,1,28]],"date-time":"2021-01-28T00:00:00Z","timestamp":1611792000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science Foundation","award":["1703304, 1735123, and 1836813."],"award-info":[{"award-number":["1703304, 1735123, and 1836813."]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2021,3,31]]},"abstract":"<jats:p>Creating modern software inevitably requires using application programming interfaces (APIs). While software developers can sometimes use APIs by simply copying and pasting code examples, a lack of robust knowledge of how an API works can lead to defects, complicate software maintenance, and limit what someone can express with an API. Prior work has uncovered the many ways that API documentation fails to be helpful, though rarely describes precisely why. We present a theory of robust API knowledge that attempts to explain why, arguing that effective understanding and use of APIs depends on three components of knowledge: (1) the domain concepts the API models along with terminology, (2) the usage patterns of APIs along with rationale, and (3) facts about an API\u2019s execution to support reasoning about its runtime behavior. We derive five hypotheses from this theory and present a study to test them. Our study investigated the effect of having access to these components of knowledge, finding that while learners requested these three components of knowledge when they were not available, whether the knowledge helped the learner use or understand the API depended on the tasks and likely the relevance and quality of the specific information provided. The theory and our evidence in support of its claims have implications for what content API documentation, tutorials, and instruction should contain and the importance of giving the right information at the right time, as well as what information API tools should compute, and even how APIs should be designed. Future work is necessary to both further test and refine the theory, as well as exploit its ideas for better instructional design.<\/jats:p>","DOI":"10.1145\/3444945","type":"journal-article","created":{"date-parts":[[2021,1,28]],"date-time":"2021-01-28T12:02:20Z","timestamp":1611835340000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":22,"title":["A Theory of Robust API Knowledge"],"prefix":"10.1145","volume":"21","author":[{"given":"Kyle","family":"Thayer","sequence":"first","affiliation":[{"name":"The Information School, University of Washington, Seattle, WA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sarah E.","family":"Chasins","sequence":"additional","affiliation":[{"name":"Department of Electrical Engineering and Computer Sciences, University of California, Berkeley, California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Amy J.","family":"Ko","sequence":"additional","affiliation":[{"name":"The Information School, University of Washington, Seattle, WA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,1,28]]},"reference":[{"key":"e_1_2_2_1_1","unstructured":"npm Inc. 2018. npm. Retrieved from https:\/\/www.npmjs.com\/.  npm Inc. 2018. npm. Retrieved from https:\/\/www.npmjs.com\/."},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2013.6624004"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1352135.1352218"},{"key":"e_1_2_2_4_1","volume-title":"Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 1589--1598","author":"Brandt Joel","unstructured":"Joel Brandt , Philip J. Guo , Joel Lewenstein , Mira Dontcheva , and Scott R. Klemmer . 2009. Two studies of opportunistic programming: Interleaving web foraging, learning, and writing code . In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 1589--1598 . Joel Brandt, Philip J. Guo, Joel Lewenstein, Mira Dontcheva, and Scott R. Klemmer. 2009. Two studies of opportunistic programming: Interleaving web foraging, learning, and writing code. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 1589--1598."},{"key":"e_1_2_2_5_1","volume-title":"Primo","author":"Clarke Kevin A.","year":"2012","unstructured":"Kevin A. Clarke and David M . Primo . 2012 . A Model Discipline: Political Science and the Logic of Representations. OUP. Google-Books-ID : d_voSSX2QgMC. Kevin A. Clarke and David M. Primo. 2012. A Model Discipline: Political Science and the Logic of Representations. OUP. Google-Books-ID: d_voSSX2QgMC."},{"key":"e_1_2_2_6_1","volume-title":"Special Windows\/.NET Supplement (May","author":"Clarke Steven","year":"2004","unstructured":"Steven Clarke . 2004. Measuring API usability. Dr. Dobb\u2019s Journal , Special Windows\/.NET Supplement (May 2004 ). Retrieved from http:\/\/www.drdobbs.com\/windows\/measuring-api-usability\/184405654. Steven Clarke. 2004. Measuring API usability. Dr. Dobb\u2019s Journal, Special Windows\/.NET Supplement (May 2004). Retrieved from http:\/\/www.drdobbs.com\/windows\/measuring-api-usability\/184405654."},{"key":"e_1_2_2_7_1","volume-title":"End-User Software Engineering (Dagstuhl Seminar Proceedings), Margaret H. Burnett, Gregor Engels, Brad A. Myers, and Gregg Rothermel (Eds.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik","author":"Clarke Steven","year":"2007","unstructured":"Steven Clarke . 2007 . What is an end user software engineerl . In End-User Software Engineering (Dagstuhl Seminar Proceedings), Margaret H. Burnett, Gregor Engels, Brad A. Myers, and Gregg Rothermel (Eds.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik , Germany, Dagstuhl, Germany. Retrieved from http:\/\/drops.dagstuhl.de\/opus\/volltexte\/ 2007\/1080. Steven Clarke. 2007. What is an end user software engineerl. In End-User Software Engineering (Dagstuhl Seminar Proceedings), Margaret H. Burnett, Gregor Engels, Brad A. Myers, and Gregg Rothermel (Eds.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Germany, Dagstuhl, Germany. Retrieved from http:\/\/drops.dagstuhl.de\/opus\/volltexte\/2007\/1080."},{"key":"e_1_2_2_8_1","first-page":"12","article-title":"Paradigm shifts in designed instruction: From behaviorism to cognitivism to constructivism. Edu","volume":"33","author":"Cooper Peter A.","year":"1993","unstructured":"Peter A. Cooper . 1993 . Paradigm shifts in designed instruction: From behaviorism to cognitivism to constructivism. Edu . Technol. 33 , 5 (1993), 12 -- 19 . Peter A. Cooper. 1993. Paradigm shifts in designed instruction: From behaviorism to cognitivism to constructivism. Edu. Technol. 33, 5 (1993), 12--19.","journal-title":"Technol."},{"key":"e_1_2_2_9_1","volume-title":"Structures of scientific theories","author":"Craver Carl F.","unstructured":"Carl F. Craver . 2002. Structures of scientific theories . In The Blackwell Guide to the Philosophy of Science, Chapter 4. John Wiley 8 Sons, Ltd , 55--79. DOI:https:\/\/doi.org\/10.1002\/9780470756614.ch4 10.1002\/9780470756614.ch4 Carl F. Craver. 2002. Structures of scientific theories. In The Blackwell Guide to the Philosophy of Science, Chapter 4. John Wiley 8 Sons, Ltd, 55--79. DOI:https:\/\/doi.org\/10.1002\/9780470756614.ch4"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1186\/s13012-019-0872-8"},{"key":"e_1_2_2_11_1","volume-title":"Proceedings of the IEEE 31st International Conference on Software Engineering. 320--330","author":"Dekel U.","year":"2009","unstructured":"U. Dekel and J. D. Herbsleb . 2009. Improving API documentation usability with knowledge pushing . In Proceedings of the IEEE 31st International Conference on Software Engineering. 320--330 . DOI:https:\/\/doi.org\/10.1109\/ICSE. 2009 .5070532 10.1109\/ICSE.2009.5070532 U. Dekel and J. D. Herbsleb. 2009. Improving API documentation usability with knowledge pushing. In Proceedings of the IEEE 31st International Conference on Software Engineering. 320--330. DOI:https:\/\/doi.org\/10.1109\/ICSE.2009.5070532"},{"key":"e_1_2_2_12_1","volume-title":"Robillard","author":"Duala-Ekoko Ekwa","year":"2010","unstructured":"Ekwa Duala-Ekoko and Martin P . Robillard . 2010 . The Information Gathering Strategies of API Learners. Technical ReportTR-2010.6, School of Computer Science, McGill University . Retrieved from https:\/\/pdfs.semanticscholar.org\/a7ff\/4cc954744f761e8697be4e73aa25166a76c4.pdf. Ekwa Duala-Ekoko and Martin P. Robillard. 2010. The Information Gathering Strategies of API Learners. Technical ReportTR-2010.6, School of Computer Science, McGill University. Retrieved from https:\/\/pdfs.semanticscholar.org\/a7ff\/4cc954744f761e8697be4e73aa25166a76c4.pdf."},{"key":"e_1_2_2_13_1","volume-title":"Proceedings of the 34th International Conference on Software Engineering (ICSE\u201912)","author":"Duala-Ekoko Ekwa","unstructured":"Ekwa Duala-Ekoko and Martin P. Robillard . 2012. Asking and answering questions about unfamiliar APIs: An exploratory study . In Proceedings of the 34th International Conference on Software Engineering (ICSE\u201912) . IEEE Press, Piscataway, NJ, 266--276. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id=2337223.2337255. Ekwa Duala-Ekoko and Martin P. Robillard. 2012. Asking and answering questions about unfamiliar APIs: An exploratory study. In Proceedings of the 34th International Conference on Software Engineering (ICSE\u201912). IEEE Press, Piscataway, NJ, 266--276. Retrieved from http:\/\/dl.acm.org\/citation.cfm?id=2337223.2337255."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2012.6240511"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/3173574.3174154"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180176"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2018.8506517"},{"key":"e_1_2_2_18_1","volume-title":"Proceedings of the IEEE\/ACM 25th International Conference on Program Comprehension (ICPC\u201917)","author":"Jiang S.","year":"2017","unstructured":"S. Jiang , A. Armaly , C. McMillan , Q. Zhi , and R. Metoyer . 2017. Docio: Documenting API input\/output examples . In Proceedings of the IEEE\/ACM 25th International Conference on Program Comprehension (ICPC\u201917) . 364--367. DOI:https:\/\/doi.org\/10.1109\/ICPC. 2017 .13 10.1109\/ICPC.2017.13 S. Jiang, A. Armaly, C. McMillan, Q. Zhi, and R. Metoyer. 2017. Docio: Documenting API input\/output examples. In Proceedings of the IEEE\/ACM 25th International Conference on Program Comprehension (ICPC\u201917). 364--367. DOI:https:\/\/doi.org\/10.1109\/ICPC.2017.13"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1177\/0048393102250307"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2019.8818850"},{"key":"e_1_2_2_21_1","volume-title":"Proceedings of the IEEE Symposium on Visual Languages and Human Centric Computing. 199--206","author":"Ko A. J.","year":"2004","unstructured":"A. J. Ko , B. A. Myers , and H. H. Aung . 2004. Six learning barriers in end-user programming systems . In Proceedings of the IEEE Symposium on Visual Languages and Human Centric Computing. 199--206 . DOI:https:\/\/doi.org\/10.1109\/VLHCC. 2004 .47 10.1109\/VLHCC.2004.47 A. J. Ko, B. A. Myers, and H. H. Aung. 2004. Six learning barriers in end-user programming systems. In Proceedings of the IEEE Symposium on Visual Languages and Human Centric Computing. 199--206. DOI:https:\/\/doi.org\/10.1109\/VLHCC.2004.47"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.45"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jvlc.2004.08.003"},{"key":"e_1_2_2_24_1","volume-title":"Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL\/HCC\u201911)","author":"Ko A. J.","year":"2011","unstructured":"A. J. Ko and Y. Riche . 2011. The role of conceptual knowledge in API usability . In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL\/HCC\u201911) . 173--176. DOI:https:\/\/doi.org\/10.1109\/VLHCC. 2011 .6070395 10.1109\/VLHCC.2011.6070395 A. J. Ko and Y. Riche. 2011. The role of conceptual knowledge in API usability. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL\/HCC\u201911). 173--176. DOI:https:\/\/doi.org\/10.1109\/VLHCC.2011.6070395"},{"key":"e_1_2_2_25_1","volume-title":"Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering. 361--370","author":"LaToza Thomas D.","unstructured":"Thomas D. LaToza , David Garlan , James D. Herbsleb , and Brad A. Myers . 2007. Program comprehension as fact finding . In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering. 361--370 . Thomas D. LaToza, David Garlan, James D. Herbsleb, and Brad A. Myers. 2007. Program comprehension as fact finding. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering. 361--370."},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1177\/2515245918787489"},{"key":"e_1_2_2_27_1","first-page":"6","article-title":"Revealing actual documentation usage in software maintenance through war stories. Info","volume":"49","author":"Lutters Wayne G.","year":"2007","unstructured":"Wayne G. Lutters and Carolyn B. Seaman . 2007 . Revealing actual documentation usage in software maintenance through war stories. Info . Softw. Technol. 49 , 6 (June 2007), 576--587. DOI:https:\/\/doi.org\/10.1016\/j.infsof.2007.02.013 10.1016\/j.infsof.2007.02.013 Wayne G. Lutters and Carolyn B. Seaman. 2007. Revealing actual documentation usage in software maintenance through war stories. Info. Softw. Technol. 49, 6 (June 2007), 576--587. DOI:https:\/\/doi.org\/10.1016\/j.infsof.2007.02.013","journal-title":"Softw. Technol."},{"key":"e_1_2_2_28_1","first-page":"3","article-title":"Application programming interface documentation: What do software developers want","volume":"48","author":"Meng Michael","year":"2017","unstructured":"Michael Meng , Stephanie Steinhardt , and Andreas Schubert . 2017 . Application programming interface documentation: What do software developers want ? J. Techn. Writ. Commun. 48 , 3 (July 2017), 295--330. DOI:https:\/\/doi.org\/10.1177\/0047281617721853 10.1177\/0047281617721853 Michael Meng, Stephanie Steinhardt, and Andreas Schubert. 2017. Application programming interface documentation: What do software developers want? J. Techn. Writ. Commun. 48, 3 (July 2017), 295--330. DOI:https:\/\/doi.org\/10.1177\/0047281617721853","journal-title":"J. Techn. Writ. Commun."},{"key":"e_1_2_2_29_1","volume-title":"Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications. 1--18","author":"Leo","unstructured":"Leo A. Meyerovich and Ariel Rabkin. 2013. Empirical analysis of programming language adoption . In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications. 1--18 . Leo A. Meyerovich and Ariel Rabkin. 2013. Empirical analysis of programming language adoption. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages and Applications. 1--18."},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3194793.3194795"},{"key":"e_1_2_2_31_1","volume-title":"Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM\u201912)","author":"Nasehi S. M.","year":"2012","unstructured":"S. M. Nasehi , J. Sillito , F. Maurer , and C. Burns . 2012. What makes a good code example?: A study of programming Q amp;A in StackOverflow . In Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM\u201912) . 25--34. DOI:https:\/\/doi.org\/10.1109\/ICSM. 2012 .6405249 10.1109\/ICSM.2012.6405249 S. M. Nasehi, J. Sillito, F. Maurer, and C. Burns. 2012. What makes a good code example?: A study of programming Q amp;A in StackOverflow. In Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM\u201912). 25--34. DOI:https:\/\/doi.org\/10.1109\/ICSM.2012.6405249"},{"key":"e_1_2_2_32_1","volume-title":"Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC\/FSE\u201909)","author":"Nguyen Tung Thanh","unstructured":"Tung Thanh Nguyen , Hoan Anh Nguyen , Nam H. Pham , Jafar M. Al-Kofahi , and Tien N. Nguyen . 2009. Graph-based mining of multiple object usage patterns . In Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC\/FSE\u201909) . ACM, New York, NY, 383--392. DOI:https:\/\/doi.org\/10.1145\/1595696.1595767 10.1145\/1595696.1595767 Tung Thanh Nguyen, Hoan Anh Nguyen, Nam H. Pham, Jafar M. Al-Kofahi, and Tien N. Nguyen. 2009. Graph-based mining of multiple object usage patterns. In Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC\/FSE\u201909). ACM, New York, NY, 383--392. DOI:https:\/\/doi.org\/10.1145\/1595696.1595767"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/584955.584976"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1984701.1984706"},{"key":"e_1_2_2_35_1","unstructured":"Chris Parnin Christoph Treude Lars Grammel and Margaret-Anne Storey. 2012. Crowd documentation: Exploring the coverage and the dynamics of API discussions on stack Overflow. (2012) 11.  Chris Parnin Christoph Treude Lars Grammel and Margaret-Anne Storey. 2012. Crowd documentation: Exploring the coverage and the dynamics of API discussions on stack Overflow. (2012) 11."},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2009.193"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.63"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-010-9150-8"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.17"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786855"},{"key":"e_1_2_2_41_1","first-page":"11","article-title":"Investigating reading techniques for object-oriented framework learning","volume":"26","author":"Shull F.","year":"2000","unstructured":"F. Shull , F. Lanubile , and V. R. Basili . 2000 . Investigating reading techniques for object-oriented framework learning . IEEE Trans. Softw. Eng. 26 , 11 (Nov. 2000), 1101--1118. DOI:https:\/\/doi.org\/10.1109\/32.881720 10.1109\/32.881720 F. Shull, F. Lanubile, and V. R. Basili. 2000. Investigating reading techniques for object-oriented framework learning. IEEE Trans. Softw. Eng. 26, 11 (Nov. 2000), 1101--1118. DOI:https:\/\/doi.org\/10.1109\/32.881720","journal-title":"IEEE Trans. Softw. Eng."},{"key":"e_1_2_2_42_1","volume-title":"Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE\u201913)","author":"Sillito J.","year":"2013","unstructured":"J. Sillito and A. Begel . 2013. App-directed learning: An exploratory study . In Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE\u201913) . 81--84. DOI:https:\/\/doi.org\/10.1109\/CHASE. 2013 .6614736 10.1109\/CHASE.2013.6614736 J. Sillito and A. Begel. 2013. App-directed learning: An exploratory study. In Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE\u201913). 81--84. DOI:https:\/\/doi.org\/10.1109\/CHASE.2013.6614736"},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010283"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2702613.2702656"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2006.32"},{"key":"e_1_2_2_46_1","first-page":"55","article-title":"What is a scientific theory? In Philosophy of Science Today, Sidney Morgenbesser (Ed.)","volume":"6","author":"Suppes Patrick","year":"1967","unstructured":"Patrick Suppes . 1967 . What is a scientific theory? In Philosophy of Science Today, Sidney Morgenbesser (Ed.) , Chapter 6. 55 -- 67 . Patrick Suppes. 1967. What is a scientific theory? In Philosophy of Science Today, Sidney Morgenbesser (Ed.), Chapter 6. 55--67.","journal-title":"Chapter"},{"key":"e_1_2_2_47_1","volume-title":"Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER\u201917)","author":"Thayer Kyle","unstructured":"Kyle Thayer and Amy J. Ko . 2017. Barriers faced by coding bootcamp students . In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER\u201917) . ACM, New York, NY, 245--253. DOI:https:\/\/doi.org\/10.1145\/3105726.3106176 10.1145\/3105726.3106176 Kyle Thayer and Amy J. Ko. 2017. Barriers faced by coding bootcamp students. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER\u201917). ACM, New York, NY, 245--253. DOI:https:\/\/doi.org\/10.1145\/3105726.3106176"},{"key":"e_1_2_2_48_1","unstructured":"Kyle Matthew Thayer. 2020. Practical Knowledge Barriers in Professional Programming. Thesis. Retrieved from https:\/\/digital.lib.washington.edu:443\/researchworks\/handle\/1773\/45471.  Kyle Matthew Thayer. 2020. Practical Knowledge Barriers in Professional Programming. Thesis. Retrieved from https:\/\/digital.lib.washington.edu:443\/researchworks\/handle\/1773\/45471."},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2014.80"},{"key":"e_1_2_2_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.402076"},{"key":"e_1_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9514-4"},{"key":"e_1_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337321"},{"key":"e_1_2_2_54_1","volume-title":"https:\/\/en.wikipedia.org\/w\/index.php?title=Torus8oldid=999263403. Accessed","author":"Wikipedia Wikipedia","year":"2021","unstructured":"Wikipedia contributors. 2021. Torus - Wikipedia . https:\/\/en.wikipedia.org\/w\/index.php?title=Torus8oldid=999263403. Accessed 16 January , 2021 . Wikipedia contributors. 2021. Torus - Wikipedia. https:\/\/en.wikipedia.org\/w\/index.php?title=Torus8oldid=999263403. Accessed 16 January, 2021."},{"key":"e_1_2_2_55_1","volume-title":"English: A simple torus fading out to a wireframe structure.","year":"2015","unstructured":"Leonid_2. 2015 . English: A simple torus fading out to a wireframe structure. Leonid_2. 2015. English: A simple torus fading out to a wireframe structure."}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3444945","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3444945","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3444945","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:28:13Z","timestamp":1750195693000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3444945"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1,28]]},"references-count":54,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2021,3,31]]}},"alternative-id":["10.1145\/3444945"],"URL":"https:\/\/doi.org\/10.1145\/3444945","relation":{},"ISSN":["1946-6226"],"issn-type":[{"value":"1946-6226","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1,28]]},"assertion":[{"value":"2018-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-01-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}