Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Visualizing roles of variables in program animation

Published: 01 September 2004 Publication History

Abstract

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.

References

[1]
1 Ben-Ari M. Constructivism in computer science education. Journal of Computers in Mathematics and Science Teaching, 2001; 20: 45-73.
[2]
2 Samurçay R. The concept of variable in programming: its meaning and use in problem-solving by novice programmers. In: Soloway E, Spohrer JC (Eds). Studying the Novice Programmer. Lawrence Erlbaum Associates: Hillsdale, NJ, 1989; 161-178.
[3]
3 Sleeman D, Putnam RT, Baxter JA, Kuspa L. A summary of misconceptions of high school Basic programmers. In: Soloway E, Spohrer JC (Eds). Studying the Novice Programmer. Lawrence Erlbaum Associates: Hillsdale, NJ, 1989; 301-314.
[4]
4 Madison S, Gifford J. Modular programming: novice misconceptions. Journal of Research on Technology in Education, 2002; 34:217-229.
[5]
5 Fleury AE. Parameter passing: the rules the students construct. ACM SIGCSE Bulletin, 1991; 23: 283-286.
[6]
6 Holland S, Griffiths R, Woodman M. Avoiding object misconceptions. SIGCSE Bulletin, 1997; 29: 131-134.
[7]
7 Hundhausen CD, Douglas SA, Stasko JT. A meta-study of algorithm visualization effectiveness. Journal of Visual Languages and Computing, 2002; 13: 259-290.
[8]
8 Mulholland P. A principled approach to the evaluation of SV: a case study in Prolog. In: Stasko JT, Domingue J, Brown MH, Price BA (Eds). Software Visualization-Programming as a Multimedia Experience. The MIT Press: Cambridge, MA, 1998; 439-451.
[9]
9 Birch MR, Boroni CM, Goosey FW, Patton SD, Poole DK, Pratt CM, Ross RJ. DYNALAB A dynamic computer science laboratory infrastructure featuring program animation. ACM SIGCSE Bulletin, 1995; 27: 29-33.
[10]
10 Haajanen J, Pesonius M, Sutinen E, Tarhio J, Teräsvirta T, Vanninen P. Animation of user algorithms on the Web. In: VL' 97, IEEE Symposium on Visual Languages. IEEE Computer Society Press; Chicago, 1997; 360-367.
[11]
11 Lahtinen SP, Sutinen E, Tarhio J. Automated animation of algorithms with Eliot. Journal of Visual Languages and Computing, 1998; 9: 337-349.
[12]
12 Ramadhan HA. Programming by discovery. Journal of Computer Assisted Learning, 2000; 16: 83-93.
[13]
13 Mayer R. Multimedia learning. Cambridge University Press: UK, 2001.
[14]
14 Carroll JM, Mack RL. Metaphor, computing systems, and active learning. International Journal of Human-Computer Studies, 1999; 51: 385-403.
[15]
15 Petre M, Blackwell AF. Mental imagery in program design and visual programming. International Journal of Human-Computer Studies, 1999; 51: 7-30.
[16]
16 Sajaniemi J. An empirical analysis of roles of variables in novice-level procedural programs. In: IEEE Symposia on Human Centric Computing Languages and Environments (HCC'02). IEEE Computer Society Press: Chicago, 2002; 37-39.
[17]
17 Brown MH. Exploring algorithms using Balsa-II. IEEE Computer, 1988; 21: 14-36.
[18]
18 Brown MH. ZEUS: a system for algorithm animation and multiview editing. In: Proceedings of the IEEE Workshop on Visual Languages. IEEE Computer Society Press: Chicago, 1991; 4-9.
[19]
19 DiGiano CJ, Baecker RM, Owen RN. LogoMedia: a sound-enhanced programming environment for monitoring program behaviour. In: INTERCHI'93. ACM, Addison-Wesley: New York, 1993; 301-302.
[20]
20 Hansen S, Narayanan NH, Hegarty M. Designing educationally effective algorithm visualizations. Journal of Visual Languages and Computing, 2002; 13: 291-317.
[21]
21 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, 20O0; 67-68.
[22]
22 Roman GC, Cox K, Wilcox C, Plun J. Pavane: a system for declarative visualization of concurrent computations. Journal of Visual Languages and Computing, 1992; 3: 161-193.
[23]
23 Rössling G, Freisleben B. ANIMAL: a system for supporting multiple roles in algorithm animation. Journal of Visual Languages and Computing, 2002; 13: 341-354.
[24]
24 Stasko JT. Tango: a framework and system for algorithm animation. IEEE Computer, 1990; 23: 27-39.
[25]
25 Stasko JT. Using student-built algorithm animations as learning aids. In: Proceedings of the 1997 ACM SIGCSE Conference, 1997; 25-29.
[26]
26 Stasko JT, Kraemer E. A methodology for building application-specific visualizations of parallel programs. Journal of Parallel and Distributed Computing, 1993; 18: 258-264.
[27]
27 Sajaniemi J, Kuittinen M. Program animation based on the roles of variables. In: ACM 2003 Symposium on Software Visualization (SoftVis 2003). Association for Computing Machinery Press: New York, 2003; 7-16.
[28]
28 Ben-Bassat Levy R, Ben-Ari M, Uronen PA. The Jeliot 2000 program animation system. Computers & Education, 2003; 40: 1-15.
[29]
29 Ehrlich K, Soloway E. An empirical investigation of the tacit plan knowledge in programming. In: Thomas JC, Schneider ML (Eds). Human Factors in Computer Systems. Norwood, NJ: Ablex Publishing Company, 1984; 113-133.
[30]
30 Rist RS. Schema creation in programming. Cognitive Science, 1989; 13: 389-414.
[31]
31 Green TRG, Cornah AJ. The programmer's torch. Human-Computer Interaction-INTERACT'84. IFIP, Elsevier Science Publishers: North-Holland: Amsterdam, 1985; 397-402.
[32]
32 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.
[33]
33 Sajaniemi J, Karjalainen M. Suppea johdatus Pascal-ohjelmointiin (A Brief Introduction to Programming in Pascal). Epsilon ry, Joensuu, Finland, 1985.
[34]
34 Foley RW. Introduction to Programming Principles Using Turbo Pascal. Chapman & Hall; London, 1991.
[35]
35 Jones WB. Programming Concepts-A Second Course. Prentice-Hall: Englewood Cliffs, NJ, 1982.
[36]
36 Lavie N. Perceptual load as a necessary condition for selective attention. Journal of Experimental Psychology: Human Perception and Performance, 1995; 21: 451-468.
[37]
37 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.
[38]
38 Mulholland P, Eisenstadt M. Using software to teach program ming: Past, present and future. In: Stasko JT, Domingue J, Brown MH, Price BA (Eds). Software Visualization-Programming as a Multimedia Experience. The MIT Press: Cambridge, MA, 1998; 399-408.
[39]
39 Dillon A, Gabbard R. Hypermedia as an educational technology: A review of the quantitative research literature on learner comprehension, control and style. Review of Educational Research, 1998; 68: 322-349.
[40]
40 Good J. Programming paradigms, information types and graphical representations: empirical investigations of novice program comprehension . Ph.D. thesis University of Edinburgh, 1999.
[41]
41 Sajaniemi J, Kuittinen M. An experiment on using roles of variables in teaching introductory programming. Computer Science Education. In press.
[42]
42 Pennington N. Comprehension strategies in programming. In: Empirical Studies of Programmers: Second Workshop. Ablex Publishing Company: Norwood, NJ, 1987; 100-113.
[43]
43 Détienne F. Software Design-Cognitive Aspects. Springer-Velag: London, 2002.
[44]
44 Clancy MJ, Linn MC. Patterns and pedagogy. In: Proceedings of the 30th SIGCSE Technical Symposium on CS Education, 1999; 37-42.

Cited By

View all
  • (2017)Effects of visualizing roles of variables with animation and IDE in novice program constructionTelematics and Informatics10.1016/j.tele.2017.02.00534:5(743-754)Online publication date: 1-Aug-2017
  • (2010)BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?ACM Transactions on Computing Education10.1145/1789934.178993810:2(1-22)Online publication date: 1-Jun-2010
  • (2008)Students' individual differences in using visualizationsProceedings of the 8th International Conference on Computing Education Research10.1145/1595356.1595373(92-95)Online publication date: 13-Nov-2008
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Information Visualization
Information Visualization  Volume 3, Issue 3
Special issue: Software visualization
September 2004
91 pages

Publisher

Palgrave Macmillan

Publication History

Published: 01 September 2004

Author Tags

  1. classroom experiment
  2. program animation
  3. roles of variables

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Effects of visualizing roles of variables with animation and IDE in novice program constructionTelematics and Informatics10.1016/j.tele.2017.02.00534:5(743-754)Online publication date: 1-Aug-2017
  • (2010)BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?ACM Transactions on Computing Education10.1145/1789934.178993810:2(1-22)Online publication date: 1-Jun-2010
  • (2008)Students' individual differences in using visualizationsProceedings of the 8th International Conference on Computing Education Research10.1145/1595356.1595373(92-95)Online publication date: 13-Nov-2008
  • (2008)A study of the development of students' visualizations of program state during an elementary object-oriented programming courseJournal on Educational Resources in Computing (JERIC)10.1145/1316450.13164537:4(1-31)Online publication date: 9-Jan-2008
  • (2007)A study of the development of students' visualizations of program state during an elementary object-oriented programming courseProceedings of the third international workshop on Computing education research10.1145/1288580.1288582(1-16)Online publication date: 15-Sep-2007
  • (2006)An experiment on short-term effects of animated versus static visualization of operations on program perceptionProceedings of the second international workshop on Computing education research10.1145/1151588.1151591(7-16)Online publication date: 9-Sep-2006
  • (2006)Metaphor-based animation of OO programsProceedings of the 2006 ACM symposium on Software visualization10.1145/1148493.1148530(173-174)Online publication date: 4-Sep-2006

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media