An SVG Code Generator for Algorithm Visualization

알고리즘 시각화를 위한 SVG 코드 생성 시스템

  • 이향숙 (창원대학교 컴퓨터공학과) ;
  • 이수현 (창원대학교 컴퓨터공학과)
  • Received : 2009.10.19
  • Accepted : 2009.11.17
  • Published : 2010.03.31

Abstract

Algorithm visualization is useful for program testing, debugging and evaluating, as well as visual aids in education. When teaching algorithms and data structures, showing exact behaviors by graphics or animation is more suitable than just explaining them. Current systems for algorithm animation are limited to a couple of specific applications and need a special environment. In the proposed system, programmer writes source program in C and animator embeds visualization scripts in the appropriate location of the program. Then user can get an animation code in form of SVG and see a graphical representation on the web browser. Generated SVG animation code is platform independent and can also interact with other XML applications or HTML.

알고리즘 시각화는 프로그램의 수행과정에 대한 이해를 용이하게 하여 프로그램의 오류 수정이나 개선에도 효과적으로 이용될 수 있을 뿐 아니라 컴퓨터 교육 분야에서도 폭넓게 활용될 수 있다. 알고리즘과 자료구조의 이해에 있어 알고리즘 자체의 설명보다는 동작과정을 직접 보여주는 시각화 방법이 더욱 바람직하다. 기존의 알고리즘 시각화 방법들은 특정 분야에 한정되어 사용할 수 있거나, 특정 환경이나 애플리케이션을 필요로 하여 폭넓은 분야에서 손쉽게 사용하는데 문제가 있었다. 본 논문에서 제안하는 시스템은 C 언어로 작성된 프로그램에 사용자가 간단한 시각화 명령을 추가하면 이를 자동 변환하여 SVG 애니메이션 코드를 생성한다. 생성된 애니메이션 코드는 웹 브라우저 상에서 실행될 수 있으며 MathML 등과 같은 다른 XML 애플리케이션이나 HTML, 스크립트 등과 결합하여 사용될 수 있다.

Keywords

References

  1. C. A. Shaffer, M. Cooper, and S. H. Edwards, "Algorithm visualization: a report on the state of the field," Proceedings of the 38th SIGCSE technical symposium on Computer science education SIGCSE '07, 150- 154, 2007.
  2. S. Asija, "Visualization of Object-Oriented Design Models," A Depaul University Graduation Thesis for the Degree Masters, Chicago IL, 1999.
  3. 이신주, 프로그램 시각화 시스템을 위한 애니메이션 코드 자동 생성기의 설계 및 구현, 창원대학교 석사논문, 2000.
  4. C. Evans and N. J Gibbons, "The interactivity effect in multimedia learning," Computers & Education, Vol.49, No.4, 1147-1160, 2007. https://doi.org/10.1016/j.compedu.2006.01.008
  5. E. Lahtinen and T. Ahoniemi, "Kick- Start Activation to Novice Prograrmming - A Visualization-Based Approach," Electronic Notes in Theoretical Computer Science (ENTCS), Vol.224, 125-132, 2009. https://doi.org/10.1016/j.entcs.2008.12.056
  6. C. D. Hundhausen and J L. Brown, "Designing, visualizing, and discussing algorithms within a CS 1 studio experience: An empirical study," Computers & Education, Vol.50, No.1, 301-326, 2008. https://doi.org/10.1016/j.compedu.2006.06.002
  7. O. Seppala and V. Karavirta, "Work in Progress: Automatic Generation of Algorithm Animations for Lecture Slides," Electronic Notes in Theoretical Computer Science (ENTCS), Vol.224, 97-103, 2009. https://doi.org/10.1016/j.entcs.2008.12.053
  8. Y. Watanobe, N. Mirenkov, and R. Yoshioka, "Algorithm library based on algorithmic cyberFilms," Knowledge-Based Systems, Vol.22, No.3, 195-208, 2009. https://doi.org/10.1016/j.knosys.2008.11.002
  9. J. H. Cross, T. D. Hendrix, D. A. Umphress, L. A. Barowski, J. Jain, and L. N. Montgomery, "Robust Generation of Dynamic Data Structure Visualizations with Multiple Interaction Approaches," ACM Transactions on Computing Education(TOCE), Vol.9, No.2, 1-32, 2009.
  10. M. Brown, "Zeus: A System for Algorithm Animation and Multi -View Editing," Computer Graphics, Vol.18, No.3. 177- 186, 1992.
  11. XTANGO, http://www.cc.gatech.edu/gvu/softviz/algoanim/xtango.html/
  12. POLKA, http://www.cc.gatech.edu/gvu/softviz/algoanim/polka.html/
  13. SAMBA, http//www.cc.gatech.edu/gvu/softviz/ algoanim/samba.html/
  14. JSAMBA, http//www.cc.gatech.edu/gvu/softviz/algoanim/jsamba/
  15. S. Rodger, "Using Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses," Second Program Visualization Workshop, Hornstrup Centert, Denmark, 2002.
  16. G. RoBling and B. Freisleben, "Approaches for Generating Animations for Lectures," AACE 11th International Society for Information Technology and Teacher Education Conference, 809- 814, 2000.
  17. A. Watt, C. Lilley, D. Ayers, R. George, C. Wenz, T. Hauser, K. Lindsey, and N Gustavsson, SVG Unleashed, Sams Publishing, 2003.