|dc.description.abstract||This research proposes an approach to provide source code along with structural and behavioral aspects of visualizations synchronized in a web-based programming environment, JavelinaCode. The aim of the approach is to help student programmers better understand the structure and the runtime behavior of a Java program, and to improve their ability to comprehend object-oriented programming concepts, thereby reducing their cognitive workload in Java programming through an effective development environment. Using JavelinaCode, student programmers can write Java programs directly in a frontend web browser without any software or plug-in installation. They are provided with a view of the static state of a Java program in UML class diagrams and the dynamic run-time state of the program by stepping forward and backward through program execution.
In this dissertation, an overview of the JavelinaCode system, its unique design principles, and implementation are described in detail. To investigate the effectiveness of JavleinaCode, both quantitative and qualitative evaluations were carefully designed and conducted to test hypotheses on student performance on programming tasks. The quantitative study indicated that having both visualizations in JavelinaCode did positively impact the correctness of solving problems. The qualitative study supported the positive effect of JevelinaCode on helping students better understand Object-Oriented design concepts and meeting goals of providing satisfaction. The dissertation makes a conclusion with the discussion of contributions, benefits, and future work.||en_US