Customizable and scalable automated assessment of C/C++ programming assignments. Issue 6 (15th August 2020)
- Record Type:
- Journal Article
- Title:
- Customizable and scalable automated assessment of C/C++ programming assignments. Issue 6 (15th August 2020)
- Main Title:
- Customizable and scalable automated assessment of C/C++ programming assignments
- Authors:
- Delgado‐Pérez, Pedro
Medina‐Bulo, Inmaculada - Abstract:
- Abstract: The correction of exercises in programming courses is a laborious task that has traditionally been performed in a manual way. This situation, in turn, delays the access by students to feedback that can contribute significantly to their training as future professionals. Over the years, several approaches have been proposed to automate the assessment of students' programs. Static analysis is a known technique that can partially simulate the process of manual code review performed by lecturers. As such, it is a plausible option to assess whether students' solutions meet the requirements imposed on the assignments. However, implementing a personalized analysis beyond the rules included in existing tools may be a complex task for the lecturer without a mechanism that guides the work. In this paper, we present a method to provide automated and specific feedback to immediately inform students about their mistakes in programming courses. To that end, we developed the CAC++ library, which enables constructing tailored static analysis programs for C/C++ practices. The library allows for great flexibility and personalization of verifications to adjust them to each particular task, overcoming the limitations of most of the existing assessment tools. Our approach to providing specific feedback has been evaluated for a period of three academic years in a course related to object‐oriented programming. The library allowed lecturers to reduce the size of the static analysisAbstract: The correction of exercises in programming courses is a laborious task that has traditionally been performed in a manual way. This situation, in turn, delays the access by students to feedback that can contribute significantly to their training as future professionals. Over the years, several approaches have been proposed to automate the assessment of students' programs. Static analysis is a known technique that can partially simulate the process of manual code review performed by lecturers. As such, it is a plausible option to assess whether students' solutions meet the requirements imposed on the assignments. However, implementing a personalized analysis beyond the rules included in existing tools may be a complex task for the lecturer without a mechanism that guides the work. In this paper, we present a method to provide automated and specific feedback to immediately inform students about their mistakes in programming courses. To that end, we developed the CAC++ library, which enables constructing tailored static analysis programs for C/C++ practices. The library allows for great flexibility and personalization of verifications to adjust them to each particular task, overcoming the limitations of most of the existing assessment tools. Our approach to providing specific feedback has been evaluated for a period of three academic years in a course related to object‐oriented programming. The library allowed lecturers to reduce the size of the static analysis programs developed for this course. During this period, the academic results improved and undergraduates positively valued the aid offered when undertaking the implementation of assignments. … (more)
- Is Part Of:
- Computer applications in engineering education. Volume 28:Issue 6(2020)
- Journal:
- Computer applications in engineering education
- Issue:
- Volume 28:Issue 6(2020)
- Issue Display:
- Volume 28, Issue 6 (2020)
- Year:
- 2020
- Volume:
- 28
- Issue:
- 6
- Issue Sort Value:
- 2020-0028-0006-0000
- Page Start:
- 1449
- Page End:
- 1466
- Publication Date:
- 2020-08-15
- Subjects:
- automated assessment -- computer programming -- computer science education -- programming courses -- static analysis
Engineering -- Study and teaching (Higher) -- Periodicals
Engineering -- Computer-assisted instruction -- Periodicals
620 - Journal URLs:
- http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1099-0542 ↗
http://onlinelibrary.wiley.com/ ↗ - DOI:
- 10.1002/cae.22317 ↗
- Languages:
- English
- ISSNs:
- 1061-3773
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3393.646000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 15324.xml