Automatic assessment of object oriented programming assignments with unit testing in Python and a real case assignment

2Citations
Citations of this article
24Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

In this paper, we focus on developing automatic assessment (AA) for a topic that has some difficulties in its practical assessment: object oriented programming (OOP). For evaluating that the OOP principles have been correctly applied to a real application, we use unit testing. In this paper, we focus on prioritizing that the students understand and apply correctly complex OOP principles and that they design properly the classes (including their relationships). In addition, we focus on the Python programming language rather than the typical previous works' focus in this area. Thus, we present a real case study of a practical assignment, in which the students have to implement characters for a video game. This assignment has the particularities and advantages that it is incremental and that it applies all four OOP principles within a single assignment. We also present its solution with the UML class diagram description. Furthermore, we provide unit testing for this case study and give general advice for generalizing the unit tests to other real case scenarios. Finally, we corroborate the effectiveness of our approach with positive student evaluations.

Cite

CITATION STYLE

APA

Climent, L., & Arbelaez, A. (2023). Automatic assessment of object oriented programming assignments with unit testing in Python and a real case assignment. Computer Applications in Engineering Education, 31(5), 1321–1338. https://doi.org/10.1002/cae.22642

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free