Using and developing automatically-generated microsoft PowerPoint slides to facilitate teaching of data structures and algorithms

One of the most important goals of any quality undergraduate computer science (CS) curriculum is to train students to truly understand fundamental data structures and algorithms (DSAs). DSAs are straightforward for instructors to recite; however, for many first time learners, DSAs are still one of the most challenging areas to learn. DSAs are abstract to visualize, usually involve subtle pitfalls, and demand focused algorithmic thinking, but all of these are not fully exposed in the more fundamental programming courses that have been offered in more accessible ways under the huge recruiting pressure. Students who are weak in the area of DSAs tend to suffer computer science study. Therefore it is very crucial for the community to use more effective teaching materials to remove the barrier and retain students in the discipline. In order to effectively present non-trivial data structures and/or their manipulating algorithms to today's computer science (CS) students at liberal arts colleges (LACs), the CS education community has constantly created various algorithm visualization (AV) toolboxes including Java Applets, standalone applications and other more proprietary environments. These toolboxes, however, have not gained widespread success at a reasonably large scale for various reasons. In this sense, undergraduate CS faculty has inadequate instructional support for teaching DSAs. This tutorial will introduce an auto-generation approach that aims to produce machine-made teaching PowerPoint slides for DSAs, demonstrate about ten different DSAs using the slides that have been automatically generated by the generator software written by the group led by the PIs, describe how to use the slides, prepare custom input data and request slides, for each DSA, demonstrate the source code of the underlying generators and share the first hand experience of writing the generators with the audience, further introduce a cyber-base platform idea that can even remove the trouble of running the generators by the end users, report the status, novelty, advantages and challenges of the approach, answer the attendees' questions regarding the approach, and discuss with the audience on how we CS instructors of LACs can work together to benefit the community. The ideal audience of the tutorial will be computer science instructors who teach DSAs in LACs where computer science program is usually small and instructors won't be able to teach DSAs every semester or have to cover data DSAs outside of their expertise. In research universities, a professor who teaches DSAs usually teaches the same course every semester. This "privilege" doesn't apply to most computer science instructors in LACs where instructors have to cover many different and sometimes remotely related subjects such as DSAs, database, robotics, software engineering, architecture, etc. As a result, it is not uncommon that an instructor needs to constantly recall subtleness of DSAs every other three/four semesters when she/he is assigned to teach the subject again. This is quite a challenge as our brains (the main memory) tend to be limited and volatile while subjects of teaching keep switching.