Software visualizations are recognized mechanisms for teaching fundamental programming concepts, yet their classroom potential is seldom fully realized. Lack of integration of a variety of visualizations into a common, easily used framework is a primary obstacle. This project removes this barrier by providing a robust framework for recognizing dynamic objects and then rendering them in a single unified canvas view. This new canvas view, which complements other visualizations such as control structure diagrams, UML class diagrams, and individual data structure diagrams, is a significant step toward effortless program visualization. The fully developed canvas framework is based on jGRASP, which has been extremely well received by students, educators, and publishers. The project's objectives are to: (1) Create a framework that recognizes multiple dynamic objects and renders them in a single unified canvas view to complement other visualizations and pedagogical features such as an object workbench and interactions pane; (2) Guide development through formative evaluation by faculty and students to support CS1, CS2, Algorithms, and other courses in the computing curriculum; (3) Determine the impact of the framework on the curriculum as an aid to teaching and learning; and (4) Disseminate the framework via the Internet, conferences, workshops, and textbooks.