{"title":"学习代码质量永远不会太早:对计算机科学一年级学生代码质量的纵向研究","authors":"Linus Östlund, Niklas Wicklund, R. Glassey","doi":"10.1145/3545945.3569829","DOIUrl":null,"url":null,"abstract":"Low code quality incurs a significant cost upon the software industry. Despite this, little serious effort has been devoted to the topic at the most basic levels of computing science education. Where studies have been conducted, the results are disappointing in terms of code quality. In this work, four iterations of a medium to large CS1 and CS2 course (n=200 students) were analyzed through the lens of code violations to better understand (1) what code violations occur most frequently, (2) how does their occurrence vary throughout the course, and (3) to what extent do teaching assistants have an effect upon code quality. Results showed a statistically significant improvement in code quality over 19 assignments in all four course iterations. In particular, when a single violation was the focus of a learning outcome, the effects were both a dramatic fall and sustained low occurrence. However, this improvement was mostly focused on the three most frequently occurring violations (> 70%), which masked an increase in lesser occurring violations throughout the course. Finally, the effects from different teaching assistants were found to be random at best, contradicting expectations that their influence would be easily detected. Given that explicit learning outcomes targeted at code quality had an effect and teaching assistant influence had no effect, a path forward to improving code quality might combine these forces without creating too many additional demands upon the already stretched teaching resources with CS1 and CS2 courses.","PeriodicalId":371326,"journal":{"name":"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-03-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"It's Never too Early to Learn About Code Quality: A Longitudinal Study of Code Quality in First-year Computer Science Students\",\"authors\":\"Linus Östlund, Niklas Wicklund, R. Glassey\",\"doi\":\"10.1145/3545945.3569829\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Low code quality incurs a significant cost upon the software industry. Despite this, little serious effort has been devoted to the topic at the most basic levels of computing science education. Where studies have been conducted, the results are disappointing in terms of code quality. In this work, four iterations of a medium to large CS1 and CS2 course (n=200 students) were analyzed through the lens of code violations to better understand (1) what code violations occur most frequently, (2) how does their occurrence vary throughout the course, and (3) to what extent do teaching assistants have an effect upon code quality. Results showed a statistically significant improvement in code quality over 19 assignments in all four course iterations. In particular, when a single violation was the focus of a learning outcome, the effects were both a dramatic fall and sustained low occurrence. However, this improvement was mostly focused on the three most frequently occurring violations (> 70%), which masked an increase in lesser occurring violations throughout the course. Finally, the effects from different teaching assistants were found to be random at best, contradicting expectations that their influence would be easily detected. Given that explicit learning outcomes targeted at code quality had an effect and teaching assistant influence had no effect, a path forward to improving code quality might combine these forces without creating too many additional demands upon the already stretched teaching resources with CS1 and CS2 courses.\",\"PeriodicalId\":371326,\"journal\":{\"name\":\"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1\",\"volume\":\"17 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-03-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3545945.3569829\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3545945.3569829","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
It's Never too Early to Learn About Code Quality: A Longitudinal Study of Code Quality in First-year Computer Science Students
Low code quality incurs a significant cost upon the software industry. Despite this, little serious effort has been devoted to the topic at the most basic levels of computing science education. Where studies have been conducted, the results are disappointing in terms of code quality. In this work, four iterations of a medium to large CS1 and CS2 course (n=200 students) were analyzed through the lens of code violations to better understand (1) what code violations occur most frequently, (2) how does their occurrence vary throughout the course, and (3) to what extent do teaching assistants have an effect upon code quality. Results showed a statistically significant improvement in code quality over 19 assignments in all four course iterations. In particular, when a single violation was the focus of a learning outcome, the effects were both a dramatic fall and sustained low occurrence. However, this improvement was mostly focused on the three most frequently occurring violations (> 70%), which masked an increase in lesser occurring violations throughout the course. Finally, the effects from different teaching assistants were found to be random at best, contradicting expectations that their influence would be easily detected. Given that explicit learning outcomes targeted at code quality had an effect and teaching assistant influence had no effect, a path forward to improving code quality might combine these forces without creating too many additional demands upon the already stretched teaching resources with CS1 and CS2 courses.