English

Teaching Python programming with automatic assessment and feedback provision

Computers and Society 2015-09-14 v1

Abstract

We describe a method of automatic feedback provision for students learning programming and computational methods in Python. We have implemented, used and refined this system since 2009 for growing student numbers, and summarise the design and experience of using it. The core idea is to use a unit testing framework: the teacher creates a set of unit tests, and the student code is tested by running these tests. With our implementation, students typically submit work for assessment, and receive feedback by email within a few minutes after submission. The choice of tests and the reporting back to the student is chosen to optimise the educational value for the students. The system very significantly reduces the staff time required to establish whether a student's solution is correct, and shifts the emphasis of computing laboratory student contact time from assessing correctness to providing guidance. The self-paced nature of the automatic feedback provision supports a student-centred learning approach. Students can re-submit their work repeatedly and iteratively improve their solution, and enjoy using the system. We include an evaluation of the system and data from using it in a class of 425 students.

Keywords

Cite

@article{arxiv.1509.03556,
  title  = {Teaching Python programming with automatic assessment and feedback provision},
  author = {Hans Fangohr and Neil O'Brien and Anil Prabhakar and Arti Kashyap},
  journal= {arXiv preprint arXiv:1509.03556},
  year   = {2015}
}

Comments

26 pages

R2 v1 2026-06-22T10:54:42.549Z