Introduction to Software Visualization CS 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 CO 2 in atmosphere stock prices –Trends Demographic analysis and simulation
Temperature fluctuations of the atmosphere
Data animation: demography of China aFood/data/anim/pop_ani.htmhttp:// 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: Tower of Hanoi: Wang.html Wang.html ations/TowersOfHanoi/TowersOfHanoi.htmhttp:// ations/TowersOfHanoi/TowersOfHanoi.htm (with formulation and discussion) N-Queen algorithms:
Demos continued Sort (bubble, insertion, quick, and selection): Sort (bubble, heap, quick, …: 16 different sort algorithms and codes): cse.uta.edu/~holder/courses/cse2320/lectures/applets/sort1/heapsort.html (heap sort) cse.uta.edu/~holder/courses/cse2320/lectures/applets/sort1/heapsort.html eSort.html (merge sort) eSort.html html (heap) html (radix) (shell) (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