{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,16]],"date-time":"2026-03-16T20:36:27Z","timestamp":1773693387506,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":28,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,3,7]],"date-time":"2024-03-07T00:00:00Z","timestamp":1709769600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,3,7]]},"DOI":"10.1145\/3626252.3630856","type":"proceedings-article","created":{"date-parts":[[2024,3,7]],"date-time":"2024-03-07T18:17:20Z","timestamp":1709835440000},"page":"1307-1313","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When Teaching Code Refactoring"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0001-6300-5445","authenticated-orcid":false,"given":"Ivan","family":"Tan","sequence":"first","affiliation":[{"name":"Singapore Management University, Singapore, Singapore"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9376-2471","authenticated-orcid":false,"given":"Christopher M.","family":"Poskitt","sequence":"additional","affiliation":[{"name":"Singapore Management University, Singapore, Singapore"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,3,7]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Refactoring: clean your code. https:\/\/refactoring.guru\/refactoring","year":"2023","unstructured":"2023. Refactoring: clean your code. https:\/\/refactoring.guru\/refactoring. Accessed: December 2023."},{"key":"e_1_3_2_1_2_1","unstructured":"2023. Supplementary Materials: Exercises and Videos. https:\/\/sites.google.com\/view\/fixingyourownsmells\/home."},{"key":"e_1_3_2_1_3_1","volume-title":"Hamid Abdul Basit, and Naveed Arshad","author":"Abid Shamsa","year":"2015","unstructured":"Shamsa Abid, Hamid Abdul Basit, and Naveed Arshad. 2015. Reflections on Teaching Refactoring: A Tale of Two Projects. In ITiCSE. ACM, 225--230."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"crossref","unstructured":"Carla Bezerra Humberto Damasceno and Jo\u00e3o Teixeira. 2022. Perceptions and Difficulties of Software Engineering Students in Code Smells Refactoring. In VEM. SBC 41--45.","DOI":"10.5753\/vem.2022.226804"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3478431.3499294"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.2307\/749507"},{"key":"e_1_3_2_1_7_1","volume-title":"MacKellar","author":"B\u00f6rstler J\u00fcrgen","year":"2017","unstructured":"J\u00fcrgen B\u00f6rstler, Harald St\u00f6rrle, Daniel Toll, Jelle van Assema, Rodrigo Duran, Sara Hooshangi, Johan Jeuring, Hieke Keuning, Carsten Kleiner, and Bonnie K. MacKellar. 2017. \"I know it when I see it\": Perceptions of Code Quality. In ITiCSE. ACM, 389."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Tom\u00e1s Effenberger and Radek Pel\u00e1nek. 2022. Code Quality Defects across Introductory Programming Topics. In SIGCSE (1). ACM 941--947.","DOI":"10.1145\/3478431.3499415"},{"key":"e_1_3_2_1_9_1","first-page":"1","article-title":"A review-based comparative study of bad smell detection tools","volume":"18","author":"Fernandes Eduardo","year":"2016","unstructured":"Eduardo Fernandes, Johnatan Oliveira, Gustavo Vale, Thanis Paiva, and Eduardo Figueiredo. 2016. A review-based comparative study of bad smell detection tools. In EASE. ACM, 18:1--18:12.","journal-title":"EASE. ACM"},{"key":"e_1_3_2_1_10_1","volume-title":"Refactoring - Improving the Design of Existing Code","author":"Fowler Martin","unstructured":"Martin Fowler. 2018. Refactoring - Improving the Design of Existing Code (2nd ed.). Addison-Wesley.","edition":"2"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"crossref","unstructured":"David Ginat. 2008. Learning from wrong and creative algorithm design. In SIGCSE. ACM 26--30.","DOI":"10.1145\/1352135.1352148"},{"key":"e_1_3_2_1_12_1","first-page":"1","article-title":"Designing Intentional Bugs for Learning","volume":"5","author":"Griffin Jean M.","year":"2019","unstructured":"Jean M. Griffin. 2019. Designing Intentional Bugs for Learning. In UKICER. ACM, 5:1--5:7.","journal-title":"UKICER. ACM"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-72914-3_17"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"crossref","unstructured":"Philip J. Guo Juho Kim and Rob Rubin. 2014. How video production affects student engagement: an empirical study of MOOC videos. In L@S. ACM 41--50.","DOI":"10.1145\/2556325.2566239"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Thorsten Haendler and Gustaf Neumann. 2019. Serious Refactoring Games. In HICSS. ScholarSpace 1--10.","DOI":"10.24251\/HICSS.2019.927"},{"key":"e_1_3_2_1_16_1","volume-title":"CSEDU (Selected Papers) (Communications in Computer and Information Science","volume":"261","author":"Haendler Thorsten","year":"2019","unstructured":"Thorsten Haendler, Gustaf Neumann, and Fiodor Smirnov. 2019. RefacTutor: An Interactive Tutoring System for Software Refactoring. In CSEDU (Selected Papers) (Communications in Computer and Information Science, Vol. 1220). Springer, 236--261."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"crossref","unstructured":"Cruz Izu Paul Denny and Sayoni Roy. 2022. A Resource to Support Novices Refactoring Conditional Statements. In ITiCSE (1). ACM 344--350.","DOI":"10.1145\/3502718.3524810"},{"key":"e_1_3_2_1_18_1","first-page":"1","article-title":"Student Refactoring Behaviour in a Programming Tutor","volume":"4","author":"Keuning Hieke","year":"2020","unstructured":"Hieke Keuning, Bastiaan Heeren, and Johan Jeuring. 2020. Student Refactoring Behaviour in a Programming Tutor. In Koli Calling. ACM, 4:1--4:10.","journal-title":"Koli Calling. ACM"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"crossref","unstructured":"Hieke Keuning Bastiaan Heeren and Johan Jeuring. 2021. A Tutoring System to Learn Code Refactoring. In SIGCSE. ACM 562--568.","DOI":"10.1145\/3408877.3432526"},{"key":"e_1_3_2_1_20_1","volume-title":"Object-Oriented Software Construction","author":"Meyer Bertrand","unstructured":"Bertrand Meyer. 1997. Object-Oriented Software Construction (2nd ed.). Prentice- Hall.","edition":"2"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"crossref","unstructured":"Eduardo Oliveira Hieke Keuning and Johan Jeuring. 2023. Student Code Refactoring Misconceptions. In ITiCSE (1). ACM 19--25.","DOI":"10.1145\/3587102.3588840"},{"key":"e_1_3_2_1_22_1","volume-title":"Exploring Experiential Learning Model and Risk Management Process for an Undergraduate Software Architecture Course","author":"Ouh Eng Lieh","unstructured":"Eng Lieh Ouh and Yunghans Irawan. 2018. Exploring Experiential Learning Model and Risk Management Process for an Undergraduate Software Architecture Course. In FIE. IEEE, 1--9."},{"key":"e_1_3_2_1_23_1","volume-title":"Mindstorms: Children, computers and powerful ideas. Harvester.","author":"Papert Seymour","year":"1980","unstructured":"Seymour Papert. 1980. Mindstorms: Children, computers and powerful ideas. Harvester."},{"key":"e_1_3_2_1_24_1","volume-title":"Clean Code and Design Educational Tool","author":"Prokic Simona","unstructured":"Simona Prokic, Katarina-Glorija Grujic, Nikola Luburic, Jelena Slivka, Aleksandar Kovacevic, Dragan Vidakovic, and Goran Sladic. 2021. Clean Code and Design Educational Tool. In MIPRO. IEEE, 1601--1606."},{"key":"e_1_3_2_1_25_1","volume-title":"Kyong Jin Shim, and Li Ying Leonard Wong","author":"Shar Lwin Khin","year":"2022","unstructured":"Lwin Khin Shar, Christopher M. Poskitt, Kyong Jin Shim, and Li Ying Leonard Wong. 2022. XSS for the Masses: Integrating Security in a Web Programming Course using a Security Scanner. In ITiCSE (1). ACM, 463--469."},{"key":"e_1_3_2_1_26_1","volume-title":"Software Engineering","author":"Sommerville Ian","unstructured":"Ian Sommerville. 2015. Software Engineering (10th ed.). Pearson.","edition":"10"},{"key":"e_1_3_2_1_27_1","volume-title":"What is the best response scale for survey and questionnaire design","author":"Taherdoost Hamed","year":"2019","unstructured":"Hamed Taherdoost. 2019. What is the best response scale for survey and questionnaire design; review of different lengths of rating scale\/attitude scale\/Likert scale. International Journal of Academic Research in Management (2019), 1--10."},{"key":"e_1_3_2_1_28_1","volume-title":"Andrea De Lucia, and Denys Poshyvanyk.","author":"Tufano Michele","year":"2015","unstructured":"Michele Tufano, Fabio Palomba, Gabriele Bavota, Rocco Oliveto, Massimiliano Di Penta, Andrea De Lucia, and Denys Poshyvanyk. 2015. When and Why Your Code Starts to Smell Bad. In ICSE (1). IEEE Computer Society, 403--414."}],"event":{"name":"SIGCSE 2024: The 55th ACM Technical Symposium on Computer Science Education","location":"Portland OR USA","acronym":"SIGCSE 2024","sponsor":["SIGCSE ACM Special Interest Group on Computer Science Education"]},"container-title":["Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3626252.3630856","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3626252.3630856","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,21]],"date-time":"2025-08-21T04:33:58Z","timestamp":1755750838000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3626252.3630856"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,3,7]]},"references-count":28,"alternative-id":["10.1145\/3626252.3630856","10.1145\/3626252"],"URL":"https:\/\/doi.org\/10.1145\/3626252.3630856","relation":{},"subject":[],"published":{"date-parts":[[2024,3,7]]},"assertion":[{"value":"2024-03-07","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}