Skip to Main Content
Expert programmers possess programming knowledge, which is language independent and abstract. Still, programming is mostly taught only via constructs of a programming language and explicit teaching of programming knowledge is often disregarded. Experts' high level programming knowledge can, however, be explicitly taught in an introductory programming course. This paper reports the results of a study in which the effects of teaching roles of variables to novices in an elementary programming course were examined. In the course expert programming knowledge was taught explicitly with the concept of roles and by using PlanAni, a role-based animator, which elaborates role knowledge and the concept of a variable in general. The study replicates methodologically our earlier study conducted in the same course a year earlier when roles were not used in the teaching. In this paper we discuss also the differences between the two student groups taught differently. The overall results show that students who were taught with roles learned high level programming plans faster and were able to use some complex programming plans better than students who were taught only with traditional methods.