skip to main content
10.1145/3374135.3385292acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

dsDraw: Programmable Animations and Animated Programs

Published: 25 May 2020 Publication History

Abstract

Teaching computer science theory is often challenging due to the very nature of the field - its reliance on a solid mathematical foundation, logical reasoning, and the ability to use abstractions. As such, visualization tools have been developed to provide a deep and intuitive understanding of the concepts. However, most proprietary tools are bulky, unresponsive, require specific hardware and software, and often require license and training for their use. Most available free educational tools come with a predefined set of examples and offer very little flexibility and expressive power. In this paper, we describe our lightweight web application called dsDraw that allows instructors to record whiteboard-style animated lectures with accompanying instructional audio. Graphics are created within an editor using the mouse and keyboard or by invoking commands in an interactive console. The resulting videos can be exported to common file formats for use in other mediums.
The dsDraw language provides a familiar C-like programming syntax, allowing users to minimize repetition and work at a higher level of abstraction. It includes built-in functions for common structures such as flowcharts, arrays, trees and graphs, but users can define their own functions to enhance their editing workflow. dsDraw also provides a program trace feature where users can step through programs one expression at a time, as well as a variable view that displays the current state of memory.
Equipped with these programming features, dsDraw admits a wide variety of potential use cases. Instructors can use dsDraw to create animations, interative lessons, program visualizations, and record lectures. In addition, the flexibility of dsDraw enables it to be used across a wide range of topics such as data structures, algorithms, automata theory, networking, databases, and topics in other disciplines like genomic and chemical interactions, and integration in calculus. The use of dsDraw can help meet the demands of instructing to a significant growing enrollment of students in computer science.
This paper describes the rich set of programming features of dsDraw. We motivate the use of dsDraw by explaining how it can be used to create content illustrating dynamic programming and computational geometry.

References

[1]
Adobe. 1993. Adobe After Effects. Retrieved 2019 from https://www.adobe.com/products/aftereffects.html
[2]
A. E. R. Campbell, G. L. Catto, and E. E. Hansen. 2003. Language-independent Interactive Data Visualization (SIGCSE '03). 215--219.
[3]
H. Danielsiek, W. Paul, and J. Vahrenhold. 2012. Detecting and Understanding Students' Misconceptions Related to Algorithms and Data Structures. Association for Computing Machinery, New York, NY, USA.
[4]
B. C. Dean. 2004. LectureScribe. Retrieved 2019 from https://people.cs.clemson.edu/~bcdean/lscribe/
[5]
T. M. J. Fruchterman and E. M. Reingold. 1991. Graph Drawing by Force-directed Placement. Softw. Pract. Exper. 21, 11 (Nov 1991), 1129--1164.
[6]
R. Graham. 1971. An Efficient Algorithm for Determining the Convex Hull of a Finite Planar Set. Inform. Process. Lett. 1 (1971), 132--133.
[7]
S. Halim. [n.d.]. VisuAlgo. Retrieved 2019 from https://visualgo.net/en
[8]
D.Jeffries. 2019. dsDraw. Retrieved 2019 from https://github.com/danjeffries96/dsDraw/
[9]
D. Jeffries. 2019. dsDraw: Programmable Animations and Animated Programs (Honor's Thesis).
[10]
D. Jeffries and R. Mohan. 2019. dsDraw User Manual, Tutorials and Sample Videos. Retrieved 2019 from https://student2.cs.appstate.edu/~mohanr/dsDraw/host
[11]
K. Karpierz and S. A. Wolfman. 2014. Misconceptions and Concept Inventory Questions for Binary Search Trees and Hash Tables. Association for Computing Machinery, New York, NY, USA.
[12]
J. Park. [n.d.]. Algorithm Visualizer. Retrieved 2019 from https://algorithmvisualizer.org/
[13]
W. Paul and J. Vahrenhold. 2013. Hunting High and Low: Instruments to Detect Misconceptions Related to Algorithms and Data Structures. Association for Computing Machinery, New York, NY, USA.
[14]
W. C. Pierson and S. H. Rodger. 1998. Web-based Animation of Data Structures Using JAWAA (SIGCSE '98). 267--271.
[15]
E. M. Reingold and J. S. Tilford. 1981. Tidier Drawings of Trees. IEEE Trans. Softw. Eng. 7, 2 (Mar 1981), 223--228.
[16]
S. H. Rodger. 2006. Jflap: An Interactive Formal Languages and Automata Package. Jones and Bartlett Publishers, Inc., Sudbury, MA, USA.
[17]
G. Sanderson. [n.d.]. 3Blue1Brown (YouTube Channel). Retrieved 2019 from https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
[18]
G. Sanderson. [n.d.]. Manim (Mathematical Animation Engine). Retrieved 2019 from https://github.com/3b1b/manim
[19]
D. Schweitzer and W. Brown. 2007. Interactive Visualization for the Active Learning Classroom. Association for Computing Machinery, New York, NY, USA.
[20]
O. Seppälä, L. Malmi, and A. Korhonen. 2006. Observations on Student Misconceptions - A Case Study of the Build-Heap Algorithm. Computer Science Education 16, 3 (2006), 241--255.
[21]
V. S. Shekhar, A. Agarwalla, A. Agarwal, Nitash B., and V. Kumar. 2014. Enhancing JFLAP with Automata Construction Problems and Automated Feedback. 7th International Conference on Contemporary Computing, IC3 2014.
[22]
D. D. Sleator and R. E. Tarjan. 1985. Self-adjusting Binary Search Trees. J. ACM 32, 3 (Jul 1985), 652--686.
[23]
D. Zingaro, C. Taylor, L. Porter, M. Clancy, C. Lee, S. Nam Liao, and K. C. Webb. 2018. Identifying Student Difficulties with Basic Data Structures. Association for Computing Machinery, New York, NY, USA.

Index Terms

  1. dsDraw: Programmable Animations and Animated Programs

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ACMSE '20: Proceedings of the 2020 ACM Southeast Conference
    April 2020
    337 pages
    ISBN:9781450371056
    DOI:10.1145/3374135
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 May 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Computer Science Education
    2. Pedagogical Tool
    3. Programming Animations
    4. STEM
    5. Software

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ACM SE '20
    Sponsor:
    ACM SE '20: 2020 ACM Southeast Conference
    April 2 - 4, 2020
    FL, Tampa, USA

    Acceptance Rates

    Overall Acceptance Rate 502 of 1,023 submissions, 49%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 117
      Total Downloads
    • Downloads (Last 12 months)12
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 15 Jan 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media