Abstract
In computer science education, the programming environment is just as crucial as the classroom environment. Students must be provided with adequate tools for developing an understanding of computer science paradigms. These paradigms include object-oriented programming (OOP) concepts, such as inheritance, polymorphism, and encapsulation. JavelinaCode is a web-based integrated development environment (IDE) for Java programming that provides students with both a static and dynamic visualization of code; the static structure of code at compile time and the dynamic execution of code at run time. The objective of this research is to present the differences between JavelinaCode and similar programming environment tools to demonstrate how JavelinaCode improves students' understanding of OOP concepts. Comparative analysis is conducted between JavelinaCode and programming environment tools, including BlueJ, Jeliot 3, AguiaJ, JIVE, and jGRASP. Each of these tools is evaluated on the basis of time constraints for download and installation, complexity of the download process and tool's interface, and the provision of static and dynamic visualizations. The results of the comparative analysis show that JavelinaCode provides students with a more effective tool for understanding OOP concepts than those considered. This is due to a simplified set up process and user interface and a better integrated set of visualizations. The combination of these factors contributes to a programming environment that emphasizes developing and running code.