Code Stories

More Info
expand_more

Abstract

Understanding code can be cumbersome. CodeStories strives to provide the tools to make code more understandable by creating a tight coupling between code execution and explanatory elements such as visualizations. Currently CodeStories only supports JavaScript, but extending it with different languages would significantly increase its range. During our research phase we have found that solutions exist that partly solve the problem, though none of the solutions are extensive. CodeStories relies on several third party projects. The main projects are D3 for the visualizations, JS-Interpreter, to make the narratives dynamic and AngularJS as the front-end framework. As is common, the Karma plus Jasmine combination has been used as a testing framework. Some new concepts had to be introduced to keep the application flexible. The CAST has been introduced as a file/folder tree extended with the Abstract Syntax Tree for JavaScript files. Narrative items are the atoms a CodeStory is build up from and VObjects are the higher level objects that represent visualizations. For the user interface we have chosen an approach inspired by interactive storytelling. The end-product fulfills all core features and a little extra. Improvements can be made mainly in the user experience, language support, and the extensiveness of the VObject library.

Files