Current Progress of Providing Rich Immediate Critique of Anti-patterns in Student Code
Document Type
Conference Proceeding
Publication Date
6-23-2024
Department
Department of Computer Science; Department of Engineering Fundamentals
Abstract
The "Rich, Immediate Critique of Antipatterns in Student Code" (RICA) project aims to provide rich, relevant, and immediate feedback to students learning to program in their first year of engineering education. This feedback is indispensable in effective student learning, particularly in introductory computing courses. Students often need help understanding compilation or run-time messages, and code structures that initially seem intuitive can have unintended and poorly understood consequences. Conventional classroom feedback mechanisms fall short here, partly because large-scale courses like those in First-Year Engineering (FYE) often strain the instructional team's capacity to deliver timely feedback. Our work-in-progress project aims to address this challenge by developing real-time Code Critiquers specifically tailored for First-Year Engineering (FYE).
Our ongoing project is developing a real-time Code Critiquer system, WebTA, that identifies, categorizes, and provides feedback on code antipatterns in student-submitted MATLAB code. In programming, where the learning process is iterative and often fraught with errors, immediate feedback can serve as a critical form of scaffolding.
The RICA project aligns with broader educational theory that supports the vital role of immediate feedback. However, it takes it a step further by focusing on the "richness" and "relevance" of this feedback. The project exists in the intersection of computer science, engineering, and cognitive & learning sciences. By focusing on antipatterns, it addresses the mental models that students form while learning to code.
While autograders and other automated assessment tools have been instrumental in scaling up coding education, their primary limitation lies in evaluating syntactical and functional correctness, often overlooking the "antipatterns" in student code. Antipatterns represent code structure, which, while usually syntactically correct, could lead to unintended consequences: errors, inefficiencies, or complexities.
The context of the project is a First-Year Engineering Program. At our institution, FYE has a typical total enrollment of approximately 1,000 students matriculating each fall into the College of Engineering. FYE is a common first-year engineering experience taken by all first-year students in the College of Engineering. During an Engineering Fundamentals course, students are taught programming in MATLAB.
The poster focuses on research conducted by our graduate students over the past year. This research includes preliminary analysis of classroom data, work developing a Machine Learning algorithm to detect antipatterns, exploration of the impact of feedback on student self-efficacy, and efforts to develop a common Abstract Syntax Tree representation for multiple languages (in particular Java, MATLAB, and Python).
Publication Title
ASEE Annual Conference and Exposition, Conference Proceedings
Recommended Citation
Ureel, L.,
Brown, L. E.,
Jarvie-Eggart, M.,
Sticklen, J.,
Albrant, L.,
Benjamin, M.,
&
et. al.
(2024).
Current Progress of Providing Rich Immediate Critique of Anti-patterns in Student Code.
ASEE Annual Conference and Exposition, Conference Proceedings.
http://doi.org/10.18260/1-2--46804
Retrieved from: https://digitalcommons.mtu.edu/michigantech-p2/1053
Publisher's Statement
Publisher's permanent URL can be found here
https://peer.asee.org/46804