Automating Production of PowerPoint-Based Algorithm Visualization Teaching Materials
- James Ryder, SUNY Oneonta
Oneonta, State University College at
In computer science, data structures are the methods by which data are stored and organized in a computer so that it can be used efficiently. While most data structures are relatively straightforward to teach, the algorithms (step-by-step procedures) that manipulate them can be challenging. In order to facilitate the teaching of algorithms, the computer science (CS) education community has invented and promoted various algorithm visualization (AV) toolboxes. (Rößling 2009; Karavirta et al. 2004; Nikander et al. 2010; Khuri 2001) These toolboxes, however, have not been adopted as their developers might have hoped (Hundhausen & Douglas 2002), particularly at primarily undergraduate institutions (PUIs) and on a large scale. One of the most successful presentation tools, Microsoft PowerPoint (MS PPT; PPT) is ubiquitous in undergraduate classrooms. PPT-based materials are convenient, lightweight, standardized, customizable, easy to adopt and teaching-friendly. Using PPT to visualize algorithms seems a natural fit, therefore, but CS instructors seldom have access to practical and high-quality AV PPT teaching slides, due to the extreme difficulty of creating them manually. We propose the development of a unique software solution to leverage existing PPT software by writing dedicated generators to automate the otherwise tedious production of AV PPT presentations. This practical and feasible solution takes advantage of the benefits of PPT technology, efficiently increasing the accessibility of effective AV teaching aids.
This project will refine the generators that have been prototyped, and implement roughly eight new CS algorithms, focusing upon those taught at PUIs. An automated database-and-dispatcher-driven cyber platform, which releases end users from the hassle of running generators, will also be refined. The platform serves as a repository of the AV teaching slides for users to share and adopt, and provides an interface for users to submit data to request customized slides, which will be produced on demand. From a pedagogical perspective, the proposed approach promotes preparedness, standardization, centralization and reuse of algorithm teaching materials. It is anticipated that this approach will enjoy widespread adoption by the community, and enhance its understanding of effective AV adoption.
The primary goal of the project is to facilitate algorithm teaching by CS instructors at PUIs by increasing the availability and accessibility of easily adoptable, standardized PPT AV presentation materials. To achieve this goal, the following objectives will be pursued.
Objective 1: Identify the top 30 algorithms most frequently taught at PUIs.
Objective 2: Refine dedicated slide generator programs for ten algorithms already prototyped; create dedicated generators for eight NEW algorithms (chosen from the top 30 algorithms).
Objective 3: Create a platform to centralize, manage and present each generator. Generator execution will be transparent, allowing users to request new slides for customized data with minimum effort and freeing them from the burden of downloading, unzipping and learning how to run each generator.
Objective 4: Maintain all presentations that have been generated in response to different data inputs requested by end users, allowing PPT AVs to be shared and reused to benefit more users with minimal effort.
Objective 5: Evaluate in order to steer the project and systematically investigate the worth and merit of the platform.
With campus funding and support, the PI has piloted a number of generators, along with the platform and a project website, and has gained extensive development experience and trained several students. Though the website has been prototyped, it must now be refined. The site communicates with the platform to collect and input users’ basic information, and includes static materials or links documenting each of the algorithms for which a generator exists. Once the slides are created, they are automatically and seamlessly accessible to instructors. At least two sample sets of slides will be created for each of the eight new generators for CS2-level algorithms, one using a small dataset and another with a relatively larger dataset. These slides will be added to the presentation repository for other instructors to effortlessly download. Instructors who prefer to customize their presentations can simply prepare their data and submit it; the system will then dispatch the data to the corresponding generator for the selected algorithm.
The project will include CS instructors from within the SUNY system as external reviewers (one for each new algorithm; in preliminary work for this project, a number of those contacted agreed to serve); student assistants will be trained to refine the generators. The list of project algorithms will be finalized through consultation with SUNY CS instructors, and be made available via the project website, which will also solicit comments. Feedback will be sought at regional conferences, including the Consortium for Computing Sciences in Colleges (CCSCE) and the Special Interest Group on Computer Science Education (SIGCSE). Concurrently, the team will refine the ten existing generators. As the project progresses and the number and complexity of generators increase, more time will be spent on testing and debugging, and on software verification and validation. The platform will also be tested and refined to achieve robustness. Throughout the year of the project, at least two students will be hired to assist in platform and generator development, testing, and refinement. Evaluation and dissemination activities will be conducted throughout the life of the project.
API was developed to auto-generate algorithms and data structures to undergraduate students. Was very positively received by students and a second project is underway to help scale up results.