Informatics in Education (Apr 2010)

Invariant Based Programming in Education - An Analysis of Student Difficulties

  • Linda MANNILA

DOI
https://doi.org/10.15388/infedu.2010.07
Journal volume & issue
Vol. 9, no. 1
pp. 115 – 132

Abstract

Read online

In this paper, we analyze the errors novice students make when developing invariant based programs. In addition to presenting the general error types, we also look at what students have difficulty with when it comes to expressing invariants. The results indicate that an introductory course utilizing the invariant based approach is suitable from the very beginning of university studies in CS without being ``too advanced''. Although inventing the invariant was not found to be trivial, the main difficulty faced by novices when applying a correct-by-construction approach to program development seems to be related to weak skills in translating intuitive and informal statements into a symbolic form using logical notation in general and quantifiers in particular.

Keywords