10.25394/PGS.12252311.v1 Jiaxin Sun Jiaxin Sun A software visualization-based approach for understanding and analyzing incremental implementations of complex graph-based algorithms Purdue University Graduate School 2020 algorithm visualization tarjan-bridge algorithm Computer-Human Interaction 2020-05-06 18:05:49 Thesis https://hammer.purdue.edu/articles/thesis/A_software_visualization-based_approach_for_understanding_and_analyzing_incremental_implementations_of_complex_graph-based_algorithms/12252311 Algorithm has always been a challenging topic for students to learn because of its high level of abstraction. To provide visual aid for algorithm education, many algorithm visualization systems have been designed, developed, and evaluated for the last two decades. However, neither the topics covered nor the interactivity of most AV systems are satisfying. This problem is presented in detail in chapter 2. As a result, this research aims to design, implement and evaluate a compiler-based algorithm visualization system on complex graph algorithm implementation with the assumption that it can help students build both confidence and competence in understanding it. This system is designed and developed according to the method in chapter 3. To test the hypothesis, a comparison experiment on 10 students in the Computer Graphics Technology department is conducted. The complete test protocol can be found in chapter 3.4, and the result can be found in chapter 4. Based on the limited number of subjects’ testing data, a rough conclusion is made that this AV system has only a slight positive effect on subjects’ confidence and competence in understanding complex graph algorithm’s implementation, and its usability is acceptable. However, a concrete conclusion can only be reached if the testing is conducted to a larger group of subjects. In addition to the objective testing data, some interesting subjective observations, which are listed in chapter 5.2 are also made while doing the test. These observations indicate that algorithm visualization may more of a tool to examine users’understanding of the implementation than a tool to help them learn it.