Introduction to Software Visualization

Document Sample
Introduction to Software Visualization Powered By Docstoc
					Introduction to Software
      Visualization
 CS480-01 Computer Science
         Seminar
      Clichés ring some truth
• A picture/graph is worth a thousand words
• Video is worth a thousand pictures
                Definitions
• Visualization: Sensory input to form a
  mental picture
  – to facilitate understanding and learning
  – to help identify patterns and trends
  – to correlate parameters or factors leading to
    some events
  –…
                   Examples
• traffic signs
   – Quick grasp of message
• disease outbreak
   – Concentration of cases in certain geographic areas
• temperature changes of the atmosphere
   – concentration of dusts and CO2 in atmosphere
• stock prices
   – Trends
• Demographic analysis and simulation
Temperature fluctuations of the
        atmosphere
  Data animation: demography of
              China
• http://www.iiasa.ac.at/Research/LUC/Chin
  aFood/data/anim/pop_ani.htm
   Software or SV visualization
• the use of the crafts of typography, graphic
  design, animation, and cinematography
  with modern human-computer interaction
  and computer graphics technology to
  facilitate understanding and effective use
  of computer software
• indenting of control structure and
  flowcharting and simple forms of
  visualization techniques
Scope of Software Visualization
• Visualization of
  – programs
  – algorithms
                       demos

• Johns Hopkins Fourier Analysis of signals:
  http://www.jhu.edu/~signals/
• Tower of Hanoi:
  http://www.mazeworks.com/hanoi/index.htm,
  http://users.encs.concordia.ca/~twang/WangApr01/Root
  Wang.html
• http://www.cise.ufl.edu/~sahni/dsaaj/JavaVersions/applic
  ations/TowersOfHanoi/TowersOfHanoi.htm
• http://www.cut-the-knot.org/recurrence/hanoi.shtml (with
  formulation and discussion)
• N-Queen algorithms:
  http://www.math.utah.edu/~alfeld/queens/queens.html
                          Demos continued
•   Sort (bubble, insertion, quick, and selection): http://www.solidware.com/sort/
•   Sort (bubble, heap, quick, …: 16 different sort algorithms and codes):
    http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html
•   http://maven.smith.edu/~thiebaut/java/sort/demo.html
•   http://math.hws.edu/TMCM/java/xSortLab/
•   http://www-
    cse.uta.edu/~holder/courses/cse2320/lectures/applets/sort1/heapsort.html
    (heap sort)
•   http://www.cse.iitk.ac.in/users/dsrkg/cs210/applets/sortingII/mergeSort/merg
    eSort.html (merge sort)
•   http://www.cse.iitk.ac.in/users/dsrkg/cs210/applets/sortingII/heapSort/heap.
    html (heap)
•   http://www.cs.auckland.ac.nz/software/AlgAnim/radixsort.html (radix)
•   http://www.animal.ahrgr.de/en/Animation51.html (shell)
•   http://www.animal.ahrgr.de/en/AnimList.html (animation collection)
•   Data aggregation (self-learning neural net):
               Demo continued
• Neural net self-learning
Possible SV topics for your research project

• Techniques
   – What to draw, how to draw it?
   – Visualizing graph models of software
   – Program and algorithm visualization techniques
• Visualization for specialized domains
   – Prolog execution
   – Visualizing knowledge-based systems
   – Visualizing concurrent (multiple processes or threads) programs
• Visualization for software engineering
   – Visualization of dynamics in real world software systems
   – Visualization object-oriented software execution
   – Visualization for parallel performance evaluation and
     optimization
Possible SV topics for your research project
                    continued


• Visualization for education
  – Sorting
  – Using software to teach computer
    programming
  – Animated algorithms
• Evaluation
  – Empirical assessing algorithm animations as
    learning aid
  – Cognitive questions in SV

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:9/16/2012
language:English
pages:13