Eastwood-Tidy: C Linting for Automated Code Style Assessment in Programming Courses

被引:11
作者
Hart, Rowan [1 ]
Hays, Brian [1 ]
McMillin, Connor [1 ]
Rezig, El Kindi [2 ]
Rodriguez-Rivera, Gustavo [1 ]
Turkstra, Jeffrey A. [1 ]
机构
[1] Purdue Univ, W Lafayette, IN 47907 USA
[2] MIT, 77 Massachusetts Ave, Cambridge, MA 02139 USA
来源
PROCEEDINGS OF THE 54TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, VOL 1, SIGCSE 2023 | 2023年
关键词
Code style; Linting; C Language; Computer Science education; Automated assessment tools; Automated feedback;
D O I
10.1145/3545945.3569817
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Computer Science students receive significant instruction towards writing functioning code that correctly satisfies requirements. Autograders have been shown effective at scalably running student code and determining whether the code correctly implements a given assignment or project. However, code functionality is only one component of "good" code, and there are few studies on the correlation between code style and code quality. There are even fewer studies contributing a tool equivalent to auto-graders for code style checking and grading. We put forth two contributions. First, a style guide for the C programming language focused on readability for student programs. Second, an automated linting tool Eastwood-Tidy providing on-demand style violation and fix feedback for students and automated style grading for course staff. Finally, we survey students and find a positive response to both a code standard and an automated tool to support the standard and make recommendations for the inclusion of both in programming focused courses based on these results.
引用
收藏
页码:799 / 805
页数:7
相关论文
共 29 条
[1]   A Survey of Automated Assessment Approaches for Programming Assignments [J].
Ala-Mutka, Kirsti M. .
COMPUTER SCIENCE EDUCATION, 2005, 15 (02) :83-102
[2]  
[Anonymous], 2016, P 47 ACM TECHN S COM, DOI [DOI 10.1145/2839509, 10.1145/2839509.2844616, DOI 10.1145/2839509.2844616]
[3]  
[Anonymous], 2016, P 47 ACM TECHNICAL S, DOI [DOI 10.1145/2839509.2844584, 10.1145/2839509.2844584]
[4]  
Baniassad Elisa, P 52 ACM TECHN S COM, P1062, DOI [10.1145/3408877.3432340, DOI 10.1145/3408877.3432340]
[5]   Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments [J].
Birillo, Anastasiia ;
Vlasov, Ilya ;
Burylov, Artyom ;
Selishchev, Vitalii ;
Goncharov, Artyom ;
Tikhomirova, Elena ;
Vyahhi, Nikolay ;
Bryksin, Timofey .
PROCEEDINGS OF THE 53RD ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE 2022), VOL 1, 2022, :307-313
[6]  
Black Developers, 2022, The uncompromising code formatter
[7]   Automating Program Structure Classification [J].
Crichton, Will ;
Sampaio, Georgia Gabriela ;
Hanrahan, Pat .
PROCEEDINGS OF THE 52ND ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE 2021, 2021, :1177-1183
[8]   Using Undergraduate Teaching Assistants in Small Classes [J].
Dickson, Paul E. ;
Dragon, Toby ;
Lee, Adam .
PROCEEDINGS OF THE 2017 ACM SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'17), 2017, :165-170
[9]  
Gnome Developer, 2020, C Coding Style
[10]  
gnu, 2022, GCC, the GNU Compiler Collection