130 likes | 261 Views
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
E N D
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
Data animation: demography of China • http://www.iiasa.ac.at/Research/LUC/ChinaFood/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/RootWang.html • http://www.cise.ufl.edu/~sahni/dsaaj/JavaVersions/applications/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/mergeSort.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