{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,3]],"date-time":"2026-05-03T03:20:36Z","timestamp":1777778436819,"version":"3.51.4"},"reference-count":44,"publisher":"SAGE Publications","issue":"3","license":[{"start":{"date-parts":[[2004,9,1]],"date-time":"2004-09-01T00:00:00Z","timestamp":1093996800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Information Visualization"],"published-print":{"date-parts":[[2004,9]]},"abstract":"<jats:p>Visualizations may be used to assist in learning elementary computer programming - a skill that is hard to acquire by many students. This article presents a program animation system, PlanAni, that is based on the concept of the roles of variables. Roles represent schematic uses of variables that occur in programs over and over again, and a set of nine roles covers practically all variables in novice-level programs. PlanAni has been evaluated in a classroom experiment comparing traditional teaching with role-based teaching and animation. The results suggest that the introduction of roles provides students with a new conceptual framework that enables them to mentally process program information in a way similar to that of good code comprehenders. The use of role-based animation seems to assist in the adoption of role knowledge and expert-like programming strategies. A semi-structured interview with the teacher indicates that students like to work with the animator and that the system clarifies many concepts in programming.<\/jats:p>","DOI":"10.1057\/palgrave.ivs.9500075","type":"journal-article","created":{"date-parts":[[2004,6,3]],"date-time":"2004-06-03T05:30:27Z","timestamp":1086240627000},"page":"137-153","source":"Crossref","is-referenced-by-count":12,"title":["Visualizing Roles of Variables in Program Animation"],"prefix":"10.1177","volume":"3","author":[{"given":"Jorma","family":"Sajaniemi","sequence":"first","affiliation":[{"name":"Department of Computer Science, University of Joensuu, Finland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marja","family":"Kuittinen","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Joensuu, Finland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"179","published-online":{"date-parts":[[2004,9,1]]},"reference":[{"key":"bibr1-palgrave.ivs.9500075","first-page":"45","volume":"20","author":"Ben-Ari M.","year":"2001","journal-title":"Journal of Computers in Mathematics and Science Teaching"},{"key":"bibr2-palgrave.ivs.9500075","first-page":"161","volume-title":"Studying the Novice Programmer","author":"Samur\u00e7ay R.","year":"1989"},{"key":"bibr3-palgrave.ivs.9500075","first-page":"301","volume-title":"Studying the Novice Programmer","author":"Sleeman D","year":"1989"},{"key":"bibr4-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1080\/15391523.2002.10782346"},{"key":"bibr5-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1145\/107005.107066"},{"key":"bibr6-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1145\/268085.268132"},{"key":"bibr7-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.2002.0237"},{"key":"bibr8-palgrave.ivs.9500075","first-page":"439","volume-title":"Software Visualization - Programming as a Multimedia Experience","author":"Mulholland P.","year":"1998"},{"key":"bibr9-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1145\/199691.199706"},{"key":"bibr10-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1109\/VL.1997.626605"},{"key":"bibr11-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.1998.0084"},{"key":"bibr12-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1046\/j.1365-2729.2000.00118.x"},{"key":"bibr13-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139164603"},{"key":"bibr14-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/ijhc.1984.0316"},{"key":"bibr15-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/ijhc.1999.0267"},{"key":"bibr16-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1109\/HCC.2002.1046340"},{"key":"bibr17-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1109\/2.56"},{"key":"bibr18-palgrave.ivs.9500075","doi-asserted-by":"crossref","unstructured":"Brown MH. ZEUS: a system for algorithm animation and multi-view editing. In: Proceedings of the IEEE Workshop on Visual Languages. IEEE Computer Society Press: Chicago, 1991; 4\u20139.","DOI":"10.1109\/WVL.1991.238857"},{"key":"bibr19-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1145\/169059.169229"},{"key":"bibr20-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.2002.0236"},{"key":"bibr21-palgrave.ivs.9500075","unstructured":"Hundhausen CD, Douglas SA. SALSA and ALVIS: a language and system for constructing and presenting low fidelity algorithm visualizations. In: 2000 IEEE Symposium on Visual Languages, 2000; 67\u201368."},{"key":"bibr22-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1016\/1045-926X(92)90014-D"},{"key":"bibr23-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.2002.0239"},{"key":"bibr24-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1109\/2.58216"},{"key":"bibr25-palgrave.ivs.9500075","doi-asserted-by":"crossref","unstructured":"Stasko JT. Using student-built algorithm animations as learning aids. In: Proceedings of the 1997 ACM SIGCSE Conference, 1997; 25\u201329.","DOI":"10.1145\/268084.268091"},{"key":"bibr26-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1993.1062"},{"key":"bibr27-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1145\/774833.774835"},{"key":"bibr28-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1016\/S0360-1315(02)00076-3"},{"key":"bibr29-palgrave.ivs.9500075","first-page":"113","volume-title":"Human Factors in Computer Systems","author":"Ehrlich K","year":"1984"},{"key":"bibr30-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1207\/s15516709cog1303_3"},{"key":"bibr31-palgrave.ivs.9500075","unstructured":"Green TRG, Cornah AJ. The programmer's torch. Human-Computer Interaction - INTERACT1984. IFIP, Elsevier Science Publishers: North-Holland: Amsterdam, 1985; 397\u2013402."},{"key":"bibr32-palgrave.ivs.9500075","unstructured":"Ben-Ari M, Sajaniemi J. Roles of variables from the perspective of computer science educators. In: The 9th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2004), 2004."},{"key":"bibr33-palgrave.ivs.9500075","unstructured":"Sajaniemi J, Karjalainen M. Suppea johdatus Pascal-ohjelmointiin (A Brief Introduction to Programming in Pascal). Epsilon ry, Joensuu, Finland, 1985."},{"key":"bibr34-palgrave.ivs.9500075","volume-title":"Introduction to Programming Principles Using Turbo Pascal","author":"Foley RW","year":"1991"},{"key":"bibr35-palgrave.ivs.9500075","volume-title":"Programming Concepts - A Second Course","author":"Jones WB","year":"1982"},{"key":"bibr36-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1037\/0096-1523.21.3.451"},{"key":"bibr37-palgrave.ivs.9500075","doi-asserted-by":"crossref","unstructured":"Kuittinen M, Sajaniemi J. Teaching roles of variables in elementary programming courses. In: The 9th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2004), 2004.","DOI":"10.1145\/1007996.1008014"},{"key":"bibr38-palgrave.ivs.9500075","first-page":"399","volume-title":"Software Visualization - Programming as a Multimedia Experience","author":"Mulholland P","year":"1998"},{"key":"bibr39-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.3102\/00346543068003322"},{"key":"bibr40-palgrave.ivs.9500075","unstructured":"Good J. Programming paradigms, information types and graphical representations: empirical investigations of novice program comprehension. Ph.D. thesis University of Edinburgh, 1999."},{"key":"bibr41-palgrave.ivs.9500075","doi-asserted-by":"crossref","volume-title":"An experiment on using roles of variables in teaching introductory programming","author":"Sajaniemi J","DOI":"10.1080\/08993400500056563"},{"key":"bibr42-palgrave.ivs.9500075","unstructured":"Pennington N. Comprehension strategies in programming. In: Empirical Studies of Programmers: Second Workshop. Ablex Publishing Company: Norwood, NJ, 1987; 100\u2013113."},{"key":"bibr43-palgrave.ivs.9500075","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4471-0111-6"},{"key":"bibr44-palgrave.ivs.9500075","doi-asserted-by":"crossref","unstructured":"Clancy MJ, Linn MC. Patterns and pedagogy. In: Proceedings of the 30th SIGCSE Technical Symposium on CS Education, 1999; 37\u201342.","DOI":"10.1145\/299649.299673"}],"container-title":["Information Visualization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1057\/palgrave.ivs.9500075","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1057\/palgrave.ivs.9500075","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T19:19:31Z","timestamp":1777490371000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1057\/palgrave.ivs.9500075"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,9]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2004,9]]}},"alternative-id":["10.1057\/palgrave.ivs.9500075"],"URL":"https:\/\/doi.org\/10.1057\/palgrave.ivs.9500075","relation":{},"ISSN":["1473-8716","1473-8724"],"issn-type":[{"value":"1473-8716","type":"print"},{"value":"1473-8724","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,9]]}}}