Abstract
This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of analysis of these tools focusses on mistakes that are relevant within that context, and help with debugging the system. When teaching novice programmers this type of advice is often not particularly useful. It would be instead more useful to use these techniques to find problem in the understanding of students of important programming concepts. This paper first explores in what respect static analyzers support the learning and teaching of programming can be implemented based on existing static analysis technology. It presents an extension to static analyzer PMD was made so that feedback messages appear which are easier to understand for novice programmers. To answer the question if these techniques are able to find conceptual mistakes that are characteristic for novice programmers make, we ran it over a number of student projects, and compared these results with publicly available mature software projects.
Original language | English |
---|---|
Title of host publication | Proceedings of the 3rd International Conference on Higher Education Advances, HEAd '17 |
Editors | Josep Domenech, M. Cinta Vincent-Vela, Elena de la Poza, Desamparados Blazquez |
Place of Publication | València |
Publisher | Editorial Universitat Politècnica de València |
Pages | 1138-1146 |
Number of pages | 9 |
ISBN (Print) | 9788490485903 |
DOIs | |
Publication status | Published - 2017 |
Externally published | Yes |
Event | 3rd International Conference on Higher Education Advances, HEAd '17 - Valencia, Spain Duration: 21 Jun 2017 → 23 Jun 2017 |
Conference
Conference | 3rd International Conference on Higher Education Advances, HEAd '17 |
---|---|
Abbreviated title | HEAd '17 |
Country/Territory | Spain |
City | Valencia |
Period | 21/06/17 → 23/06/17 |
Keywords
- Programing education
- Tool support
- Static analysis