Home About the Lab People Projects Publications

Adaptive Explanatory Visualization for Learning Programming Concepts

In this project, we explore adaptive explanatory visualization as a technology to teach programming concepts. The project investigates the value of this new technology for better understanding of programming concepts and the feasibility of implementing adaptive explanatory visualization for practical languages using modern approaches to student modeling and explanation generation. Starting from several prototype systems, we are developing a set of practical educational tools based on adaptive explanatory visualization and evaluating their effectiveness at increasing retention and improving learning in the introductory CIS courses.

Adaptive Visualization and Explanatory Visualization are two promising approaches to building more userful visualization of programs and algorithms. The idea of explanatory visualization is to augment every animated step of visualization with natural language explanations. The role and the content of these explanations are to describe what is going on, why it happens, and how it relates to general principles. It has been shown that explanations indeed help the students understand what they see. Adaptive visualization is based on an assumption that a student may have different level of knowledge of different elements of a program or an algorithm that is being visualized. The idea of adaptive visualization is to match the level of details in visualization of each construct or step to the level of student knowledge about it. The less the level of understanding of a construct, the greater the level of detail in its visualization.

This project is currently supported by NSF(Directorate for Computer and Information Science and Engineering) through Award #0426021

See the full story in Pitt News

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.




an interactive learning environment with adaptive visualization to study expression evaluation in C, C++ and Java programming languages.


a new version of WADEIn that supports both adaptive visualizatioin and adaptive explanations.


a set of problem solving software assistants for learning, reinforcement and assessment of programming concepts being developed at Ramapo College of New Jersey.

Explanatory Visualization Environments:

a set of Web-based educational programs for interactive exploration of annotated examples.


? 2004 School of Information Sciences, University of Pittsburgh
135 North Bellefield Avenue, Pittsburgh, PA 15260
Tel: 412.624.5230, Email: inquiry@mail.sis.pitt.edu
Last updated 2005-08-07