What vs. How: Comparing Students Testing and Coding Skills

Publisher:
Australian Computer Society Inc
Publication Type:
Conference Proceeding
Citation:
Volume 136 - Fifteenth Australasian Computing Education Conference, 2013, pp. 97 - 106
Issue Date:
2013-01
Full metadata record
Files in This Item:
Filename Description Size
Thumbnail2012001118OK.pdf1.89 MB
Adobe PDF
Abstract: The well-known difficulties students exhibit when learning to program are often characterised as either difficulties in understanding the problem to be solved or difficulties in devising and coding a computational solution. It would therefore be helpful to understand which of these gives students the greatest trouble. Unit testing is a mainstay of large-scale software development and maintenance. A unit test suite serves not only for acceptance testing, but is also a form of requirements specification, as exemplified by agile programming methodologies in which the tests are developed before the corresponding program code. In order to better understand studentsâ conceptual difficulties with programming, we conducted a series of experiments in which students were required to write both unit tests and program code for non-trivial problems. Their code and tests were then assessed separately for correctness and âcoverageâ, respectively. The results allowed us to directly compare studentsâ abilities to characterise a computational problem, as a unit test suite, and develop a corresponding solution, as executable code. Since understanding a problem is a pre-requisite to solving it, we expected studentsâ unit testing skills to be a strong predictor of their ability to successfully implement the corresponding program. Instead, however, we found that studentsâ testing abilities lag well behind their coding skills.
Please use this identifier to cite or link to this item: