Title: Metaphor-Based Animation of OO Programs
1Metaphor-Based Animation of OO Programs
- Jorma Sajaniemi, Pauli Byckling, Petri Gerdt
- University of Joensuu, Finland
- SOFTVIS 06, Brighton, U.K.
2Outline
- Motivation
- Metaphors for Object-Oriented Concepts
- Demo
- Typical Novice Misconceptions
- Conclusion
3Motivation
- Existing OO visualization systems are based on
programming language implementation or UML - novices lack implementation knowledge
- novices lack UML knowledge
- Metaphor the presentation of a new idea in terms
of a more familiar one - similarities and dissimilarities enhance active
learning - We present
- novice-level metaphors for OO concepts
- animation that uses these metaphors
4Metaphors for OO Concepts
- Classes blueprints in a blueprint book
5Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
6Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
- Method invocation workshops
- Static methods (main) permanent workshops
7Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
- Method invocation workshops
- Static methods (main) permanent workshops
- Message passing envelope
8Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
- Method invocation workshops
- Static methods (main) permanent workshops
- Message passing envelope
- Return values workbench
9Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
- Method invocation workshops
- Static methods (main) permanent workshops
- Message passing envelope
- Return values workbench
- Object reference pennants
10Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
- Method invocation workshops
- Static methods (main) permanent workshops
- Message passing envelope
- Return values workbench
- Object reference pennants
- Garbage collection garbage vehicle
11Metaphors for OO Concepts
- Classes blueprints in a blueprint book
- Objects watch panels
- State monitors
- Member variables role metaphors
- Method invocation workshops
- Static methods (main) permanent workshops
- Message passing envelope
- Return values workbench
- Object reference pennants
- Garbage collection garbage vehicle
12Demo
- The demo animation is intended for novices
- First example of a simple OO program
- Novices are supposed to have be familiar with the
PlanAni program animator, so they know the role
metaphors - The demo is intentionally faster than in novice
use due to time constraints of this presentation
13Demonstration
14Typical Novice Misconceptions
Misconception Solution Parallellism hig
hlighted line Parameter passing value vs.
reference envelope, pennants Main program is
class permanent workshop Object is a piece of
program code blueprints, monitors Object is
class blueprints, watch panel Object is
variable monitors, role images Object is a
simple data store only workshops Only one
variable can refer an object pennants Work in
methods is made by assignment only workshop
animation Terminology (class, object, method,
...) metaphors (Eckerdal al.,
2005 Holland al., 1997 1986 Vainio, 2006)
15Conclusion
- Novices have a hard time comprehending OO
visualizations that are based on unfamiliar
concepts - We have presented metaphors for novice-level OO
program visualization - OO metaphors may help to prevent typical novice
misconceptions - We plan to make a few, carefully selected
animations for classroom use