PPIG 2005 - 17th Annual Workshop
Using Roles of Variables in Teaching: Effects on Program Construction
Pauli Byckling, Jorma Sajaniemi
Abstract: Roles of variables capture tacit expert knowledge in a form that can, e.g., be taught in introductory programming courses. A role describes some stereotypic use of variables, and only ten roles are needed to cover 99 % of all variables in novice-level procedural programs. This paper presents the results from a protocol analysis of program creation tasks in an experiment where roles were introduced to novices learning Pascal programming. Students were divided into three groups that were instructed differently: in the traditional way with no treatment of roles; using roles throughout the course; and using a role-based program animator in addition to using roles in teaching. The results suggest that the use of the program animator increases novices’ ability to apply data-related programming plans in program construction and thus increases programming skill. Plan knowledge and use is analyzed using a new model that is based on Rist’s theory of schema expansion.