The design and implementation of a novel visual interactive execution environment for Java is described. This system displays both the run-time object structure as well as the internal details of object and method activations. The representation of the execution state is based upon a novel yet simple representation technique which clarifies the important fact that objects are environments. All major Java features, including inheritance, inner classes, static methods, exceptions, etc., are supported. The GUI components built from Java' s Swing or AWT libraries can be visualized in juxtaposition with the underlying execution state. We also include a reverse-execution mechanism that allows a user to rollback to previous states of an execution. A notable characteristic of the visualization system is that it employs the existing Java Virtual Machine; no new Java interpreter is needed. A novel preprocessor (source-to-source transformation) is employed in conjunction with a run-time mediator written in Java, which carries out the visualization. A prototype of these ideas has been completed to validate the entire approach.
We present an approach for teaching design patterns that emphasizes object-orientation and patterns integration. The context of computer game development is used to engage and motivate students, and it is additionally rich with design patterns. A case study is presented based on EEClone , an arcade-style computer game implemented in Java. Our students analyzed various design patterns within EEClone, and from this experience, learned how to apply design patterns in their own game software. The six principal patterns of EEClone are described in detail, followed by a description of our teaching methodology, assessment techniques, and results.
A novel approach to the runtime visualization and analysis of object-oriented programs is presented and illustrated through a prototype system called JIVE: J ava I nteractive V isualization E nvironment. The main contributions of JIVE are: multiple concurrent representations of program state and execution history; support for forward and reverse execution; and graphical queries over program execution. This model facilitates program understanding and interactive debugging. Our visualization of runtime states clarifies the important point that objects are environments of execution. The history of object interaction is displayed via sequence diagrams, and in this way we help close the loop between design-time and run-time representations. Interactive execution is made possible by maintaining a runtime history database, which may be queried for information on variable behavior, method executions, and object interactions. We illustrate the capabilities of this system through examples. JIVE is implemented using the Java Platform Debugger Architecture and supports the Java language and libraries, including multithreaded and GUI applications.
No abstract
We define and describe the academic studio model for interdisciplinary, undergraduate, project-oriented education. This model brings faculty, students, and community partners together to investigate an open-ended academic question, and their collaboration yields an original product that represents their inquiry. The academic studio integrates agile software development practice, project-oriented pedagogy, and sociocultural cognition theories. Scrum provides the framework in which self-organizing, cross-functional teams define their methodology, and Scrum practices facilitate assessment of student learning outcomes. This model emerged from design-based research across six studio instances, each of which investigated the relationship of fun, games, and learning through the development of educational video games. Formal and informal analysis of these instances gives rise to several themes, including the importance of a formalized process to encourage learning and productivity, the critical role of an expert faculty mentor, the need to combine academic and industrial practice to manage the inherent challenges of collaborative software development, and the unique characteristics of learning outcomes arising from this model. We conclude that the academic studio model is beneficial to student learning and faculty development, and we encourage the adoption, adaptation, and evaluation of the model.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.