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.
|
|