Chalktalk : A Visualization and Communication Language -- As a Tool in the Domain of Computer Science Education
In the context of a classroom lesson, concepts must be visualized and organized in many ways depending on the needs of the teacher and students. Traditional presentation media such as the blackboard or electronic whiteboard allow for static hand-drawn images, and slideshow software may be used to generate linear sequences of text and pre-animated images. However, none of these media support the creation of dynamic visualizations that can be manipulated, combined, or re-animated in real-time, and so demonstrating new concepts or adapting to changes in the requirements of a presentation is a challenge. Thus, we propose Chalktalk as a solution. Chalktalk is an open-source presentation and visualization tool in which the user’s drawings are recognized as animated and interactive “sketches,” which the user controls via mouse gestures. Sketches help users demonstrate and experiment with complex ideas (e.g. computer graphics, procedural animation, logic) during a live presentation without needing to create and structure all content ahead of time. Because sketches can interoperate and be programmed to represent underlying data in multiple ways, Chalktalk presents the opportunity to visualize key concepts in computer science: especially data structures, whose data and form change over time due to the variety of interactions within a computer system. To show Chalktalk’s capabilities, we have prototyped sketch implementations for binary search tree (BST) and stack (LIFO) data structures, which take advantage of sketches’ ability to interact and change at run-time. We discuss these prototypes and conclude with considerations for future research using the Chalktalk platform.
Tue 6 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
15:30 - 17:00
|Scaling the REPL Experience|
|SVG Programming by Direct Manipulation of Intermediates|
|Chalktalk : A Visualization and Communication Language -- As a Tool in the Domain of Computer Science Education|