{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,28]],"date-time":"2025-11-28T21:18:50Z","timestamp":1764364730017,"version":"3.40.3"},"publisher-location":"Cham","reference-count":47,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031745577"},{"type":"electronic","value":"9783031745584"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"DOI":"10.1007\/978-3-031-74558-4_9","type":"book-chapter","created":{"date-parts":[[2025,1,9]],"date-time":"2025-01-09T04:35:42Z","timestamp":1736397342000},"page":"195-219","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Error Messages for\u00a0Students Taught Using a\u00a0Systematic Program Design Curriculum"],"prefix":"10.1007","author":[{"given":"Shamil","family":"Dzhatdoyev","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Josephine A.","family":"Des Rosiers","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marco T.","family":"Moraz\u00e1n","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2025,1,10]]},"reference":[{"key":"9_CR1","doi-asserted-by":"publisher","unstructured":"Algaraibeh, S.M.: Techniques for enhancing compiler error messages. In: Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 2, ICER 2022, pp. 1\u20132. Association for Computing Machinery, New York (2022). https:\/\/doi.org\/10.1145\/3501709.3544292","DOI":"10.1145\/3501709.3544292"},{"key":"9_CR2","doi-asserted-by":"publisher","unstructured":"Barik, T., et al.: Do developers read compiler error messages? In: Proceedings of the 39th International Conference on Software Engineering, ICSE 2017. pp. 575\u2013585. IEEE, New York City(2017). https:\/\/doi.org\/10.1109\/ICSE.2017.59","DOI":"10.1109\/ICSE.2017.59"},{"key":"9_CR3","doi-asserted-by":"publisher","unstructured":"Becker, B.A.: An effective approach to enhancing compiler error messages. In: Proceedings of the 47th ACM Technical Symposium on Computing Science Education, SIGCSE 2016, pp. 126\u2013131. Association for Computing Machinery, New York (2016). https:\/\/doi.org\/10.1145\/2839509.2844584","DOI":"10.1145\/2839509.2844584"},{"key":"9_CR4","doi-asserted-by":"publisher","unstructured":"Becker, B.A., et al.: Compiler error messages considered unhelpful: the landscape of text-based programming error message research. In: Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education, ITiCSE-WGR 2019, pp. 177\u2013210. Association for Computing Machinery, New York (2019). https:\/\/doi.org\/10.1145\/3344429.3372508","DOI":"10.1145\/3344429.3372508"},{"issue":"2\u20133","key":"9_CR5","doi-asserted-by":"publisher","first-page":"148","DOI":"10.1080\/08993408.2016.1225464","volume":"26","author":"BA Becker","year":"2016","unstructured":"Becker, B.A., Glanville, G., Iwashima, R., McDonnell, C., Goslin, K., Mooney, C.: Effective compiler error message enhancement for novice programming students. Comput. Sci. Educ. 26(2\u20133), 148\u2013175 (2016). https:\/\/doi.org\/10.1080\/08993408.2016.1225464","journal-title":"Comput. Sci. Educ."},{"key":"9_CR6","doi-asserted-by":"publisher","unstructured":"Becker, B.A., Murray, C., Tao, T., Song, C., McCartney, R., Sanders, K.: Fix the first, ignore the rest: dealing with multiple compiler error messages. In: Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE 2018, pp. 634\u2013639. Association for Computing Machinery, New York (2018). https:\/\/doi.org\/10.1145\/3159450.3159453","DOI":"10.1145\/3159450.3159453"},{"key":"9_CR7","unstructured":"Bloch, S.: Picturing Programs: An Introduction to Computer Programming, Texts in Computing, vol. 13. College Publications, Rickmansworth, UK, August 2010"},{"key":"9_CR8","doi-asserted-by":"publisher","unstructured":"Brown, P.J.: Error messages: the neglected area of the man\/machine interface. Commun. ACM 26(4), 246\u2013249 (1983). https:\/\/doi.org\/10.1145\/2163.358083","DOI":"10.1145\/2163.358083"},{"key":"9_CR9","doi-asserted-by":"publisher","unstructured":"Denny, P., et al.: On designing programming error messages for novices: readability and its constituent factors. In: Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems, CHI 2021, Association for Computing Machinery, New York (2021). https:\/\/doi.org\/10.1145\/3411764.3445696","DOI":"10.1145\/3411764.3445696"},{"issue":"1","key":"9_CR10","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1515\/comp-2019-0001","volume":"9","author":"J Eremondi","year":"2019","unstructured":"Eremondi, J., Swierstra, W., Hage, J.: A Framework for Improving Error Messages in Dependently-Typed Languages. Open Computer Science 9(1), 1\u201332 (2019). https:\/\/doi.org\/10.1515\/comp-2019-0001","journal-title":"Open Computer Science"},{"key":"9_CR11","volume-title":"How to Design Programs: An Introduction to Programming and Computing","author":"M Felleisen","year":"2018","unstructured":"Felleisen, M., Findler, R.B., Flatt, M., Krishnamurthi, S.: How to Design Programs: An Introduction to Programming and Computing, 2nd edn. MIT Press, Cambridge (2018)","edition":"2"},{"key":"9_CR12","unstructured":"Flatt, M., PLT: The Racket Reference, https:\/\/docs.racket-lang.org\/reference\/index.html, last accessed: June 2024"},{"key":"9_CR13","doi-asserted-by":"publisher","unstructured":"Flowers, T., Carver, C., Jackson, J.: Empowering students and building confidence in novice programmers through gauntlet. In: 34th Annual Frontiers in Education, 2004. FIE 2004, pp. T3H\/10\u2013T3H\/13 Vol. 1. IEEE, New York City (2004). https:\/\/doi.org\/10.1109\/FIE.2004.1408551","DOI":"10.1109\/FIE.2004.1408551"},{"key":"9_CR14","doi-asserted-by":"publisher","unstructured":"Hartmann, B., MacDougall, D., Brandt, J., Klemmer, S.R.: What would other programmers do: suggesting solutions to error messages. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. p. 1019-1028. CHI \u201910, Association for Computing Machinery, New York (2010). https:\/\/doi.org\/10.1145\/1753326.1753478","DOI":"10.1145\/1753326.1753478"},{"key":"9_CR15","unstructured":"Heemskerk, B.: The Error that is the Error Message: Comparing Information Expectations of Novice Programmers Against the Information in Python Error Messages. Master\u2019s thesis, Delft University of Technology, Delft, The Netherlands (2020)"},{"key":"9_CR16","doi-asserted-by":"publisher","unstructured":"Heeren, B., Leijen, D., van IJzendoorn, A.: Helium, for learning haskell. In: Proceedings of the 2003 ACM SIGPLAN Workshop on Haskell, Haskell 2003, pp. 62\u201371. Association for Computing Machinery, New York (2003). https:\/\/doi.org\/10.1145\/871895.871902","DOI":"10.1145\/871895.871902"},{"key":"9_CR17","doi-asserted-by":"publisher","unstructured":"Hundhausen, C.D., Olivares, D.M., Carter, A.S.: IDE-based learning analytics for computing education: a process model, critical review, and research agenda. ACM Trans. Comput. Educ. 17(3) (2017). https:\/\/doi.org\/10.1145\/3105759","DOI":"10.1145\/3105759"},{"key":"9_CR18","unstructured":"Jadud, M.C.: An Exploration of Novice Compilation Behaviour in Blue J. Ph.d. thesis, University of Kent at Canterbury, Cantebury, UK, October 2006"},{"key":"9_CR19","unstructured":"Kelleher, C., Cosgrove, D., Culyba, D.: Alice2: Programming Without Syntax Errors. In: User Interface Software and Technology - UIST 2002, vol.\u00a02, pp. 35\u201336. ACM, New York, October 2002. https:\/\/uist.acm.org\/archive\/adjunct\/2002\/pdf\/demos\/p35-kelleher.pdf"},{"key":"9_CR20","doi-asserted-by":"publisher","unstructured":"Kohn, T.: The error behind the message: finding the cause of error messages in python. In: Proceedings of the 50th ACM Technical Symposium on Computer Science Education, SIGCSE 2019, pp. 524\u2013530. Association for Computing Machinery, New York (2019). https:\/\/doi.org\/10.1145\/3287324.3287381","DOI":"10.1145\/3287324.3287381"},{"key":"9_CR21","doi-asserted-by":"publisher","unstructured":"Lazarek, L., Greenman, B., Felleisen, M., Dimoulas, C.: How to Evaluate Blame for Gradual Types, Part 2. Proc. ACM Program. Lang. 7(ICFP), August 2023. https:\/\/doi.org\/10.1145\/3607836","DOI":"10.1145\/3607836"},{"key":"9_CR22","doi-asserted-by":"publisher","unstructured":"Leinonen, J., Hellas, A., Sarsa, S., Reeves, B., Denny, P., Prather, J., Becker, B.A.: Using Large Language Models to Enhance Programming Error Messages. In: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1, SIGCSE 2023, pp. 563\u2013569. Association for Computing Machinery, New York (2023). https:\/\/doi.org\/10.1145\/3545945.3569770","DOI":"10.1145\/3545945.3569770"},{"key":"9_CR23","doi-asserted-by":"publisher","unstructured":"Luxton-Reilly, A., et al.: Introductory programming: a systematic literature review. In: Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2018 Companion, pp. 55\u2013106. Association for Computing Machinery, New York (2018). https:\/\/doi.org\/10.1145\/3293881.3295779","DOI":"10.1145\/3293881.3295779"},{"key":"9_CR24","doi-asserted-by":"publisher","unstructured":"Marceau, G., Fisler, K., Krishnamurthi, S.: Measuring the effectiveness of error messages designed for novice programmers. In: Proceedings of the 42nd ACM Technical Symposium on Computer Science Education, SIGCSE 2011, pp. 499\u2013504. Association for Computing Machinery, New York (2011). https:\/\/doi.org\/10.1145\/1953163.1953308","DOI":"10.1145\/1953163.1953308"},{"key":"9_CR25","doi-asserted-by":"publisher","unstructured":"Marceau, G., Fisler, K., Krishnamurthi, S.: Mind your language: on novices\u2019 interactions with error messages. In: Proceedings of the 10th SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp. 3\u201318. Onward! 2011. ACM, New York (2011). https:\/\/doi.org\/10.1145\/2048237.2048241","DOI":"10.1145\/2048237.2048241"},{"key":"9_CR26","unstructured":"Meyer, B.: Advances in Object-Oriented Software Engineering, chap. Design by Contract, pp. 1\u201350. Object-Oriented series, Prentice Hall (1992)"},{"key":"9_CR27","doi-asserted-by":"publisher","unstructured":"Meyer, B.: Applying design by contract. Computer 25(10), 40\u201351 (1992). https:\/\/doi.org\/10.1109\/2.161279","DOI":"10.1109\/2.161279"},{"key":"9_CR28","doi-asserted-by":"publisher","unstructured":"Moraz\u00e1n, M.T.: Animated Problem Solving - An Introduction to Program Design Using Video Game Development. Texts in Computer Science. Springer (2022). https:\/\/doi.org\/10.1007\/978-3-030-85091-3","DOI":"10.1007\/978-3-030-85091-3"},{"key":"9_CR29","doi-asserted-by":"publisher","unstructured":"Moraz\u00e1n, M.T.: Animated Program Design - Intermediate Program Design Using Video Game Development. Texts in Computer Science, Springer (2022).https:\/\/doi.org\/10.1007\/978-3-031-04317-8","DOI":"10.1007\/978-3-031-04317-8"},{"key":"9_CR30","doi-asserted-by":"publisher","unstructured":"Moraz\u00e1n, M.T.: Programming-Based Formal Languages and Automata Theory - Design, Implement, Validate, and Prove. Texts in Computer Science. Springer (2024). https:\/\/doi.org\/10.1007\/978-3-031-43973-5","DOI":"10.1007\/978-3-031-43973-5"},{"key":"9_CR31","doi-asserted-by":"publisher","unstructured":"Moraz\u00e1n, M.T., Antunez, R.: Functional automata\u2013formal languages for computer science students. In: Caldwell, J.L., H\u00f6lzenspies, P.K.F., Achten, P. (eds.) Proceedings 3rd International Workshop on Trends in Functional Programming in Education, TFPIE 2014, Soesterberg, The Netherlands, 25th May 2014. EPTCS, vol.\u00a0170, pp. 19\u201332 (2014). https:\/\/doi.org\/10.4204\/EPTCS.170.2","DOI":"10.4204\/EPTCS.170.2"},{"key":"9_CR32","doi-asserted-by":"publisher","unstructured":"Moraz\u00e1n, M.T., Rosiers, J.A.D.: FSM error messages. In: Achten, P., Miller, H. (eds.) Proceedings Seventh International Workshop on Trends in Functional Programming in Education, TFPIE@TFP 2018, Chalmers University, Gothenburg, Sweden, 14th June 2018. EPTCS, vol.\u00a0295, pp. 1\u201316 (2018). https:\/\/doi.org\/10.4204\/EPTCS.295.1","DOI":"10.4204\/EPTCS.295.1"},{"key":"9_CR33","doi-asserted-by":"publisher","unstructured":"Moraz\u00e1n, M.T., Schappel, J.M., Mahashabde, S.: Visual Designing and Debugging of Deterministic Finite-State Machines in FSM. Electronic Proceedings in Theoretical Computer Science 321, 55\u201377 (2020). https:\/\/doi.org\/10.4204\/eptcs.321.4","DOI":"10.4204\/eptcs.321.4"},{"key":"9_CR34","doi-asserted-by":"publisher","unstructured":"Moulton, P.G., Muller, M.E.: DITRAN-a compiler emphasizing diagnostics. Commun. ACM 10(1), 45\u201352 (1967). https:\/\/doi.org\/10.1145\/363018.363060","DOI":"10.1145\/363018.363060"},{"key":"9_CR35","doi-asserted-by":"publisher","unstructured":"Munson, J.P., Schilling, E.A.: Analyzing novice programmers\u2019 response to compiler error messages. J. Comput. Sci. Coll. 31(3), 53\u201361 (2016). https:\/\/doi.org\/10.5555\/2835377.2835386","DOI":"10.5555\/2835377.2835386"},{"key":"9_CR36","doi-asserted-by":"publisher","unstructured":"Nienaltowski, M.H., Pedroni, M., Meyer, B.: Compiler error messages: what can help novices? In: Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2008, pp. 168\u2013172. Association for Computing Machinery, New York (2008). https:\/\/doi.org\/10.1145\/1352135.1352192","DOI":"10.1145\/1352135.1352192"},{"key":"9_CR37","doi-asserted-by":"publisher","unstructured":"Pettit, R.S., Homer, J., Gee, R.: Do enhanced compiler error messages help students? results inconclusive. In: Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2017, pp. 465\u2013470. Association for Computing Machinery, New York (2017). https:\/\/doi.org\/10.1145\/3017680.3017768","DOI":"10.1145\/3017680.3017768"},{"key":"9_CR38","doi-asserted-by":"publisher","unstructured":"Pl\u00f6sch, R.: Design by contract for python. In: 4th Asia-Pacific Software Engineering and International Computer Science Conference (APSEC \u201997 \/ ICSC \u201997), 2-5 December 1997, Clear Water Bay, Hong Kong, pp. 213\u2013219. IEEE Computer Society (1997). https:\/\/doi.org\/10.1109\/APSEC.1997.640178","DOI":"10.1109\/APSEC.1997.640178"},{"key":"9_CR39","doi-asserted-by":"publisher","unstructured":"Prather, J., et al.: On novices\u2019 interaction with compiler error messages: a human factors approach. In: Proceedings of the 2017 ACM Conference on International Computing Education Research, ICER 2017, pp. 74\u201382. Association for Computing Machinery, New York (2017). https:\/\/doi.org\/10.1145\/3105726.3106169","DOI":"10.1145\/3105726.3106169"},{"key":"9_CR40","unstructured":"Race, P.: Using Feedback to Help Students Learn, January 2005. https:\/\/www.heacademy.ac.uk\/knowledge-hub\/using-feedback-help-students-learn"},{"key":"9_CR41","volume-title":"Algol-60 Implementation","author":"B Randell","year":"1964","unstructured":"Randell, B., Russell, L.J.: Algol-60 Implementation. Academic Press Inc., USA (1964)"},{"key":"9_CR42","unstructured":"Rich, E.: Automata, Computability and Complexity: Theory and Applications. Pearson Prentice Hall (2019)"},{"key":"9_CR43","volume-title":"JFLAP: An Interactive Formal Languages and Automata Package","author":"SH Rodger","year":"2006","unstructured":"Rodger, S.H.: JFLAP: An Interactive Formal Languages and Automata Package. Jones and Bartlett Publishers Inc., USA (2006)"},{"key":"9_CR44","doi-asserted-by":"publisher","unstructured":"Rodger, S.H., Bressler, B., Finley, T., Reading, S.: Turning automata theory into a hands-on course. In: Baldwin, D., Tymann, P.T., Haller, S.M., Russell, I. (eds.) Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2006, Houston, Texas, USA, March 3\u20135, 2006, pp. 379\u2013383. ACM (2006). https:\/\/doi.org\/10.1145\/1121341.1121459","DOI":"10.1145\/1121341.1121459"},{"key":"9_CR45","unstructured":"Sperber, M., Klaeren, H.: Schreibe Dein Programm! April 2024. https:\/\/github.com\/deinprogramm\/schreibe-dein-programm\/releases\/download\/2024-04-05-print-2\/i1.pdf. Accessed June 2024"},{"key":"9_CR46","doi-asserted-by":"publisher","unstructured":"Traver, V.J.: On Compiler Error Messages: What They Say and What They Mean. Adv. in Hum.-Comp. Int. 2010 (jan 2010). https:\/\/doi.org\/10.1155\/2010\/602570","DOI":"10.1155\/2010\/602570"},{"key":"9_CR47","doi-asserted-by":"publisher","unstructured":"Wrenn, J., Krishnamurthi, S.: Error messages are classifiers: a process to design and evaluate error messages. In: Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp. 134\u2013147. Onward! 2017. Association for Computing Machinery, New York (2017). https:\/\/doi.org\/10.1145\/3133850.3133862","DOI":"10.1145\/3133850.3133862"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-74558-4_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,9]],"date-time":"2025-01-09T05:04:19Z","timestamp":1736399059000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-74558-4_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031745577","9783031745584"],"references-count":47,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-74558-4_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"10 January 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Trends in Functional Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"South Orange, NJ","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 January 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 January 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}