Algorithm library based on algorithmic cyberFilms

A library of algorithms developed as algorithmic cyberFilms is presented. Algorithmic cyberFilms are a new type of software components for presentation, specification/programming and automatic code generation of computational algorithms. The algorithmic cyberFilm format is implemented as a set of multimedia frames (and scenes), and each component is represented by frames of algorithmic skeletons representing dynamical features of an algorithm, by frames of integrated view providing static features of the algorithm in a compact format, and by corresponding template codes supporting the program generation. We developed a library which is a collection of basic and advanced algorithms taught at universities, including computation on grids, trees and graphs. In this paper, we present basic constructs of visual languages which are used for representing cyberFilms as well as for demonstrating the library components. We also provide a general overview of the library and its features. In addition, we discuss results of experiments which were conducted to verify the usability of the library components and their usefulness in education.

[1]  Stephen H. Edwards,et al.  Algorithm visualization: a report on the state of the field , 2007, SIGCSE.

[2]  Margaret M. Burnett,et al.  Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm , 2001, Journal of Functional Programming.

[3]  Steven Skiena,et al.  Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica ® , 2009 .

[4]  Matthew H. Austern Generic programming and the STL - using and extending the C++ standard template library , 1999, Addison-Wesley professional computing series.

[5]  Tim Menzies,et al.  Evaluation Issues for Visual Programming Languages , 2000 .

[6]  Yutaka Watanobe,et al.  Algorithmic CyberFilm Language , 2006, 2006 Japan-China Joint Workshop on Frontier of Computer Science and Technology.

[7]  Marcus A. Rothenberger,et al.  Software reuse strategies and component markets , 2003, CACM.

[8]  Nikolay N. Mirenkov,et al.  Multimedia representation of matrix computations and data , 2002, Inf. Sci..

[9]  Nikolay N. Mirenkov,et al.  A visual environment for specifying global reduction operations , 2004, Int. J. High Perform. Comput. Netw..

[10]  Yutaka Watanobe,et al.  A searching method based on problem description and algorithmic features , 2005, Int. J. Comput. Sci. Eng..

[11]  Jeremy G. Siek,et al.  The generic graph component library , 1999, OOPSLA '99.

[12]  Gregg Rothermel,et al.  Generalizing WYSIWYT visual testing to screen transition languages , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[13]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[14]  Steven Skiena,et al.  LINK : a system for graph computation , 2000 .

[15]  Rossella Petreschi,et al.  Reversible Execution and Visualization of Programs with LEONARDO , 2000, J. Vis. Lang. Comput..

[16]  Jiri Soukup,et al.  The Inevitable Cycle: Graphical Tools and Programming Paradigms , 2007, Computer.

[17]  Rentaro Yoshioka,et al.  A Multimedia System to Render and Edit Self-explanatory Components , 2002 .

[18]  渡部 有隆 Algorithmic cyberfilm language and library of cyberfilm algorithms , 2007 .

[19]  Nikolay N. Mirenkov,et al.  Self-Explanatory Components: A New Programming Paradigm , 2001, Int. J. Softw. Eng. Knowl. Eng..

[20]  Nikolay N. Mirenkov,et al.  Visual computing within environment of self-explanatory components , 2002, Soft Comput..

[21]  Steven M. Hadfield,et al.  RAPTOR: a visual programming environment for teaching algorithmic problem solving , 2005 .

[22]  H. Paul Haiduk,et al.  Iconic programming proves effective for teaching the first year programming sequence , 1997, SIGCSE '97.

[23]  Jeremy G. Siek,et al.  The Boost Graph Library - User Guide and Reference Manual , 2001, C++ in-depth series.

[24]  Mordechai Ben-Ari,et al.  The Jeliot 2000 program animation system , 2003, Comput. Educ..

[25]  Margaret M. Burnett,et al.  Graphical definitions: expanding spreadsheet languages through direct manipulation and gestures , 1998, TCHI.

[26]  Nikolay N. Mirenkov,et al.  "cyber-film": a Visual Approach that Facilitates Program Comprehension , 2005, Int. J. Softw. Eng. Knowl. Eng..

[27]  John T. Stasko,et al.  Please address correspondence to , 2000 .

[28]  Kris Powers,et al.  Evaluating assessments of novice programming environments , 2005, ICER '05.

[29]  Marc H. Brown,et al.  Algorithm animation , 1988 .

[30]  Yutaka Watanobe,et al.  Filmification of methods: A visual language for graph algorithms , 2008, J. Vis. Lang. Comput..

[31]  Helmut Alt,et al.  Computational Discrete Mathematics , 2001, Lecture Notes in Computer Science.

[32]  Barbara M. Moskal,et al.  Evaluating the effectiveness of a new instructional approach , 2004 .

[33]  Nikolay N. Mirenkov,et al.  Filmification Of Methods And An Example Of Its Applications , 2005, Int. J. Softw. Eng. Knowl. Eng..

[34]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[35]  Nikolay N. Mirenkov,et al.  A visual representation of cellular automata-like systems , 2004, J. Vis. Lang. Comput..