What vs. how: Comparing students' testing and coding skills

Publication Type:
Conference Proceeding
Conferences in Research and Practice in Information Technology Series, 2013, 136 pp. 97 - 106
Issue Date:
Full metadata record
© 2013, Australian Computer Society, Inc. The well-known diffculties students exhibit when learning to program are often characterised as either diffculties in understanding the problem to be solved or diffculties 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: