This project is providing a robust framework for integrating visualizations such as control structure diagrams, UML class diagrams, and dynamic data structure views that are recognized mechanisms for teaching fundamental programming concepts. The framework is based on jGRASP, a lightweight prototype environment that has been extremely well received by students, educators, and publishers. It includes a comprehensive object viewer API and interactive view builder, and is determining the impact of jGRASP with respect to its use and effect in CS1, CS2, algorithms, and object-oriented design courses. Static and dynamic visualizations are generated directly from a student's program before, during, and after its execution. Baseline object viewers for Java collections classes will be provided, and a view builder and API facilitate Plug-in object viewers to provide additional visualizations for specialized data structures. These integrated object viewers produce "live" visualizations of the student's program.
Intellectual Merit. Recent research on scalable visualizations for complex and algorithm animation suggests the need for a creative and original pedagogical teaching technique based on tightly integrated visualizations. This project is integrating research results from these and other research efforts into the jGRASP framework. This is providing an important new tool that exploits the power of visualizations to enhance computer science and software engineering education.
Broader Impact. This project includes the participation of faculty and students from diverse institutions, including high schools, two-year and four-year colleges, and HBCUs. The full-scale jGRASP being developed in this project is being downloaded and used by these as well as other institutions around the world.