Developing Visualizations for AI Course Use
Dr. Paul Juell
North Dakota State University
Fargo, North Dakota, USA
http://www.cs.ndsu.nodak.edu/~juell
Abstract
The Visual Program project is
developing visualizations to improve student learning.
The visualizations are presented on the Web using VRML and Java.
VRML allows fly through 3D models and Java supports sophisticated models.
Students can fly through and inspect the images.
They also build visualizations from their own programs.
This project is using these as aids in understanding AI processes.
Acknowledgments:
This work is partially funded by the National Science Foundation under grant DUE-9752548.
http://www.ndsu.nodak.edu/instruct/juell/vp
Goals
Some of the project's goals:
- allowing active learning to occur
- empowering the student to ask questions
- provide explorative tools to students
- aid understanding of concepts
- Web delivery for classroom and student's work space
- address AI concepts
The primary goal and motivating force is to support active learning.
VRML and Java
A nice way of fielding active visualizations
- supports large scale, complex worlds
- display and navigation is fast
- simple ASCII file format
- web accessible
- 3D
- navigable world
- actions and sound
- Java support
The WWWIC project
The Visual Program project
(http://www.ndsu.nodak.edu/instruct/juell/vp)
is part of NDSU's WWWIC (World Wide
Web Instructional Committee) effort. WWWIC
(http://www.ndsu.nodak.edu/wwwic)
- common vision
- WEB based
- involving image or game
- content based
Visualizations
The Development Process
- envision a visualization in our mind
- hand code a prototype
The prototype is a fully developed visualization in VRML.
These prototypes are our prepackaged worlds.
- write a program to build the above world from data
- design a student interface -
normally an instrumentation of the example program they are using
- evaluate and redesign
Not all the products go through all of the steps.
Prepackaged Worlds
Figure 0: pen and ink search
Figure 1: depth first search
Figure 2: hill climbing
Instrumenting Student's Program
- present student with worked example (both for code and visualization)
- student changes program to solve assigned problem (and changes
instrumentation code as needed)
- run program creating a file for building the visualization
- run the program to build the visualization
- view with browser
Student built Visualizations
We had the students create visualization for three of seven programming
assignments.
The visualizations they developed were for:
- The blocks world
- Crossing Problem (state space search)
- Genetic Algorithm (GA)
Figure 3: snapshot of the blocks world
state space searches
An example of the class of problems is the crossing problem.
One version of the crossing problem is:
There is a father, two sons and a boat on one side of a river. The boat
can take 200 pounds. The father weighs 200 pounds, and each of the sons
100 pounds. How can all of them get across the river?
Our visualization of this problem, is simple, but it shows the state
space search.
Figure 4: The crossing problem
(search path with backtracking)
Figure 5: Search space of a GA
Anecdotal Results
- change in types of questions
- before: "What does this line of code do?"
- now: "how does this line effect the visualization?"
- discovery - after over 10 year of use:
A student came in and said, "Your program does not set the property lists
correctly when items are placed on the table."
Her visualization showed, for the first time, how I had set the
values.
- students remembered the images, most thought they were helpful or
very helpful
- students were interested in making their images show useful information
Summary
- several visualizations introduced into a class
- student created visualizations
- students thought visualizations were helpful
- images remembered as part of the course content