Animation and visualization in the curriculum: Opportunities, challenges, and successes
This panel is intended for all instructors who have had a desire to incorporate animation and visualization tools into their courses, for those who may not even be aware of such tools and of their potential benefits for instruction and student learning but want to investigate them, and for those who may want to become involved in the design and implementation of effective animations or visualizations. First, some background. Software systems for animating or visualizing important computer science concepts have long held strong allure for educators. It is sometimes difficult to convey the often complex and dynamic nature of computer science in the classroom satisfactorily; algorithms, models of computation, machine execution, and a virtually uncountable number of other topics beg to be animated. In most cases, an instructor is the animating agent, using a whiteboard, various colored pens, an eraser, and sometimes inscrutable body gyrations to convey the dynamics of the process being described. As talented as an instructor might be at this task, students invariably leave the classroom with little more than static notes and questionable impressions of the presentation. The promise of animation and visualization is that software can serve as the animating agent for such dynamic processes. A student could interact with such software as often and in as much depth as desired until the topic was learned - algorithms would become clear, models of computation would be understood, and machine execution processes assimilated. An instructor could run the same software in the classroom to convey the dynamics of the topics under consideration in repeatable, error-free fashion. That has always been the promise. However, a number of very good software systems (and many more "toy" systems) have been developed over the years that never did see widespread use in the classroom. What happened? In retrospect, a number of issues are evident. Early systems were inherently platform dependent and would not run at many sites other than the creator's. Most of these systems died as new computing platforms replaced the ones on which the systems were developed. More recent systems were designed to be platform independent, but still suffered from lack of widespread use. The main issues were time and support. An instructor who would have liked to use animation and visualization software in a course had to (1) be made aware of its existence (2) locate it (usually through a web search or published URL), (3) probably download and install it, (4) learn to use it, (5) possibly create some animations with it, (6) integrate it into an existing course that likely used different notation than the software, (7) teach its use to students, and (8) assign and grade exercises using it. For instructors who had no time or interest in developing custom animations for their own classroom, the situation was often hopeless. For those who did want to become involved in the design of animations or visualizations using existing systems, the outlook wasn't much better, as extant systems often were poorly documented and unsupported. If that sounds daunting, there is good news! Recent advancements in the understanding and development of animation and visualization systems have addressed (or are addressing) many of these issues. Thanks to the concerted efforts of a number of researchers, often with generous support from the National Science Foundation and other granting agencies, there has never been a better time to consider integrating animation and visualization tools into the curriculum, or to become involved in the design and development of such tools.
Naps, T; Rodger, S; Rößling, G; Ross, R
Proceedings of the Thirty Seventh Sigcse Technical Symposium on Computer Science Education
Start / End Page
Digital Object Identifier (DOI)