Roles of Variables Home Page

Byckling P., Gerdt P., Sajaniemi J. (2005)

Roles of Variables in Object-Oriented Programming

Companion to the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA 2005), San Diego, USA, October 2005, Association for Computing Machinery, 350-355.

Abstract: Roles can be assigned to occurrences of variables in programs according to a small number of stereotypical patterns of use. Studies on explicitly teaching roles to novices learning procedural programming have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of programs and that their use improves students' programming skills. This paper describes the results of an investigation designed to test the understandability and acceptability of the role concept and of the individual roles in novice-level object-oriented programming.

The role set used in procedural programming was found to be suitable for describing variable and attribute behavior in object-oriented programming but the need for some supplementary roles---due to the early introduction of linked structures in object-oriented programming---was also identified. CS educators had little problems with identifying roles in typical uses of variables. Every role was identified in typical uses of variables by 70-100 % accuracy. Subjects' comments on the role concept were mostly positive.

Back to the literature page


Last updated: October 26, 2005

saja.fi@gmail.com