Exploring Algorithms Using Balsa-II
Computer
A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Experience with the DYNAMOD program animator
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Watch what I do: programming by demonstration
Watch what I do: programming by demonstration
Teaching a hierarchical model of computation with animation software in the first course
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
DYNALAB: a dynamic computer science laboratory infrastructure featuring program animation (abstract)
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
A model computer simulation as an epistemic game
ACM SIGCSE Bulletin
Why looking isn't always seeing: readership skills and graphical programming
Communications of the ACM
Dancing with DynaLab: endearing the science of computing to students
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Tools for visual exploration of scope and parameter passing in a programming languages course
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Control structure diagrams for Ada 95
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
The locker metaphor to teach dynamic memory
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
VisMod: a beginner-friendly programming environment
Proceedings of the 1999 ACM symposium on Applied computing
EROSI—visualising recursion and discovering new errors
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
The Psychology of How Novices Learn Computer Programming
ACM Computing Surveys (CSUR)
Studying the language and structure in non-programmers' solutions to programming problems
International Journal of Human-Computer Studies
Constructivism in computer science education
Journal of Computers in Mathematics and Science Teaching
Role playing in an object-oriented world
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
DrJava: a lightweight pedagogic environment for Java
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Using visualization to aid program construction tasks
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Artificial Intelligence Review
Difficulties in Learning and Teaching Programming—Views of Students and Tutors
Education and Information Technologies
The Jeliot 2000 program animation system
Computers & Education
Revised Lectures on Software Visualization, International Seminar
Habitable 3D Learning Environments for Situated Learning
ITS '98 Proceedings of the 4th International Conference on Intelligent Tutoring Systems
Program animation based on the roles of variables
Proceedings of the 2003 ACM symposium on Software visualization
Frames and folders: a teachable memory model for Java
Journal of Computing Sciences in Colleges
Exploring the role of visualization and engagement in computer science education
Working group reports from ITiCSE on Innovation and technology in computer science education
Steps toward better debugging tools for LISP
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
ATask Oriented View of Software Visualization
VISSOFT '02 Proceedings of the 1st International Workshop on Visualizing Software for Understanding and Analysis
Animation of user algorithms on the Web
VL '97 Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97)
Experimental evaluation of a program visualisation tool for use in computer science education
APVis '03 Proceedings of the Asia-Pacific symposium on Information visualisation - Volume 24
A visualisation tool as a demonstration aid
Computers & Education
DrScheme: a programming environment for Scheme
Journal of Functional Programming
CMeRun: program logic debugging courseware for CS1/CS2 students
Proceedings of the 35th SIGCSE technical symposium on Computer science education
CS1 assessment using memory diagrams
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Scaffolding with object diagrams in first year programming classes: some unexpected results
Proceedings of the 35th SIGCSE technical symposium on Computer science education
OOP-Anim, a system to support learning of basic object oriented programming concepts
CompSysTech '03 Proceedings of the 4th international conference conference on Computer systems and technologies: e-Learning
Visualizing programs with Jeliot 3
Proceedings of the working conference on Advanced visual interfaces
OGRE: Three-Dimensional Program Visualization for Novice Programmers
Education and Information Technologies
A multi-national study of reading and tracing skills in novice programmers
Working group reports from ITiCSE on Innovation and technology in computer science education
LOPLE: a dynamic library of programming language examples
ACM SIGCUE Outlook
Results from the evaluation of the effectiveness of an online tutor on expression evaluation
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Methodology and architecture of JIVE
SoftVis '05 Proceedings of the 2005 ACM symposium on Software visualization
A study of the difficulties of novice programmers
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Software behaviour understanding Supported by dynamic visualization and role-play
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Novice Java programmers' conceptions of "object" and "class", and variation theory
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
ETV: a program trace player for students
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
ACM Computing Surveys (CSUR)
JHAVÉ: Supporting Algorithm Visualization
IEEE Computer Graphics and Applications
WADEIn II: a case for adaptive explanatory visualization
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Learner interaction with algorithm visualizations: viewing vs. changing vs. constructing
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Affective effects of program visualization
Proceedings of the second international workshop on Computing education research
Proceedings of the second international workshop on Computing education research
What do teachers teach in introductory programming?
Proceedings of the second international workshop on Computing education research
A Java-based environment for teaching programming language concepts
FIE '98 Proceedings of the 28th Annual Frontiers in Education - Volume 01
Animating programs and students in the laboratory
FIE '98 Proceedings of the 28th Annual Frontiers in Education - Volume 03
Factors in novice programmers' poor tracing skills
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
We work so hard and they don't use it: acceptance of software tools by teachers
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Analyzing engagement taxonomy in collaborative algorithm visualization
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Targeting program visualizations
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
WinHIPE: an IDE for functional programming based on rewriting and visualization
ACM SIGPLAN Notices
Jeliot 3 in a Demanding Educational Setting
Electronic Notes in Theoretical Computer Science (ENTCS)
Integrating Algorithm Visualization Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Program and Algorithm Visualization in Engineering and Physics
Electronic Notes in Theoretical Computer Science (ENTCS)
Annotations for Defining Interactive Instructions to Interpreter Based Program Visualization Tools
Electronic Notes in Theoretical Computer Science (ENTCS)
Visualizations in Preparing for Programming Exercise Sessions
Electronic Notes in Theoretical Computer Science (ENTCS)
Peer Review of Animations Developed by Students
Electronic Notes in Theoretical Computer Science (ENTCS)
An Evaluation of the Effortless Approach to Build Algorithm Animations with WinHIPE
Electronic Notes in Theoretical Computer Science (ENTCS)
Animation Metaphors for Object-Oriented Concepts
Electronic Notes in Theoretical Computer Science (ENTCS)
IEEE Software
Program working storage: a beginner's model
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Journal on Educational Resources in Computing (JERIC)
A survey of literature on the teaching of introductory programming
Working group reports on ITiCSE on Innovation and technology in computer science education
A principled approach to teaching OO first
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Backstop: a tool for debugging runtime errors
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Proceedings of the 39th SIGCSE technical symposium on Computer science education
SRec: an animation system of recursion for algorithm courses
Proceedings of the 13th annual conference on Innovation and technology in computer science education
HDPV: interactive, faithful, in-vivo runtime state visualization for C/C++ and Java
Proceedings of the 4th ACM symposium on Software visualization
Using BlueJ to Introduce Programming
Reflections on the Teaching of Programming
A Web Based Tool for Novice Programmers: Interaction in Use
ICCSA '08 Proceeding sof the international conference on Computational Science and Its Applications, Part I
Role-Play Virtual Environments: Recreational Learning of Software Design
EC-TEL '08 Proceedings of the 3rd European conference on Technology Enhanced Learning: Times of Convergence: Technologies Across Learning Contexts
Integrating test generation functionality into the Teaching Machine environment
Electronic Notes in Theoretical Computer Science (ENTCS)
Data space animation for learning the semantics of C++ pointers
Proceedings of the 40th ACM technical symposium on Computer science education
Extending the Engagement Taxonomy: Software Visualization and Collaborative Learning
ACM Transactions on Computing Education (TOCE)
Raptor: a visual programming environment for teaching object-oriented programming
Journal of Computing Sciences in Colleges
A Survey of Successful Evaluations of Program Visualization and Algorithm Animation Systems
ACM Transactions on Computing Education (TOCE) - Special Issue on the 5th Program Visualization Workshop (PVW’08)
Multimedia Learning
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
Automatic assessment of program visualization exercises
Koli '08 Proceedings of the 8th International Conference on Computing Education Research
Natural language programming: styles, strategies, and contrasts
IBM Systems Journal
Making the abstract concrete: Visualizing mathematical solution procedures
Computers in Human Behavior
MieruCompiler: integrated visualization tool with "horizontal slicing" for educational compilers
Proceedings of the 41st ACM technical symposium on Computer science education
Taxonomies of visual programming and program visualization
Journal of Visual Languages and Computing
BlueJ Visual Debugger for Learning the Execution of Object-Oriented Programs?
ACM Transactions on Computing Education (TOCE)
Helping students build a mental model of computation
Proceedings of the fifteenth annual conference on Innovation and technology in computer science education
Behind the curtain: students' use of VIP after class
Proceedings of the Sixth international workshop on Computing education research
Effects of course-long use of a program visualization tool
Proceedings of the Twelfth Australasian Conference on Computing Education - Volume 103
Jype - a program visualization and programming exercise tool for Python
Proceedings of the 5th international symposium on Software visualization
Reflections on threshold concepts in computer programming and beyond
Proceedings of the 10th Koli Calling International Conference on Computing Education Research
UUhistle: a software tool for visual program simulation
Proceedings of the 10th Koli Calling International Conference on Computing Education Research
Combining Dynamic Program Viewing and Testing in Early Computing Courses
COMPSAC '11 Proceedings of the 2011 IEEE 35th Annual Computer Software and Applications Conference
Dynamic binding is the name of the game
ICEC'06 Proceedings of the 5th international conference on Entertainment Computing
Assignment and sequence: why some students can't recognise a simple swap
Proceedings of the 11th Koli Calling International Conference on Computing Education Research
mJeliot: a tool for enhanced interactivity in programming instruction
Proceedings of the 11th Koli Calling International Conference on Computing Education Research
Students' long-term engagement with the visualization tool VIP
Proceedings of the 11th Koli Calling International Conference on Computing Education Research
Opportunities for CBR in learning by doing
ICCBR'05 Proceedings of the 6th international conference on Case-Based Reasoning Research and Development
mJeliot: ICT support for interactive teaching of programming
FIE '11 Proceedings of the 2011 Frontiers in Education Conference
Role-play virtual worlds for teaching object-oriented design: the ViRPlay development experience
Software—Practice & Experience
Comparing the effectiveness of different educational uses of program animations
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Trace-based teaching in early programming courses
Proceeding of the 44th ACM technical symposium on Computer science education
Online python tutor: embeddable web-based program visualization for cs education
Proceeding of the 44th ACM technical symposium on Computer science education
VILLE: a language-independent program visualization tool
Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88
Effectiveness of integrating program visualizations to a programming course
Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88
Notional machines and introductory programming education
ACM Transactions on Computing Education (TOCE)
Notional machines and introductory programming education
ACM Transactions on Computing Education (TOCE)
A JavaScript library for visualizing program execution
Proceedings of the 13th Koli Calling International Conference on Computing Education Research
Requirements and design strategies for open source interactive computer science eBooks
Proceedings of the ITiCSE working group reports conference on Innovation and technology in computer science education-working group reports
Hi-index | 0.00 |
This article is a survey of program visualization systems intended for teaching beginners about the runtime behavior of computer programs. Our focus is on generic systems that are capable of illustrating many kinds of programs and behaviors. We inclusively describe such systems from the last three decades and review findings from their empirical evaluations. A comparable review on the topic does not previously exist; ours is intended to serve as a reference for the creators, evaluators, and users of educational program visualization systems. Moreover, we revisit the issue of learner engagement which has been identified as a potentially key factor in the success of educational software visualization and summarize what little is known about engagement in the context of the generic program visualization systems for beginners that we have reviewed; a proposed refinement of the frameworks previously used by computing education researchers to rank types of learner engagement is a side product of this effort. Overall, our review illustrates that program visualization systems for beginners are often short-lived research prototypes that support the user-controlled viewing of program animations; a recent trend is to support more engaging modes of user interaction. The results of evaluations largely support the use of program visualization in introductory programming education, but research to date is insufficient for drawing more nuanced conclusions with respect to learner engagement. On the basis of our review, we identify interesting questions to answer for future research in relation to themes such as engagement, the authenticity of learning tasks, cognitive load, and the integration of program visualization into introductory programming pedagogy.