PVC: Visualizing Memory Space on Web Browsers for C Novices accepted at ACM SIGCSE (CORE Rank A) as full paper

Ryosuke Ishizue, Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa, “PVC: Visualizing Memory Space on Web Browsers for C Novices,” 49th ACM Technical Symposium on Computer Science Education (SIGCSE 2018), full paper, February 21st – 24th, Baltimore, Maryland, USA (CORE Rank A)

Memory management in C languages is a challenging concept to grasp for novice programmers. Consequently, many researchers have proposed program visualization tools to alleviate these difficulties. For example, SeeC and PythonTutor (PT) are state-of-the-art tools for C languages. However, three problems hinder the use of these and other tools: capability (P1), installability (P2), and usability (P3). (P1) Tools do not fully support dynamic memory allocation or File Input / Output (I/O) and Standard Input. (P2) Novice programmers often find installation of SeeC challenging due to its dependence on Clang and difficulties setting up an offline environment that uses PT. (P3) Revisualization of modified source code in SeeC requires several steps. To alleviate these issues, we propose a new visualization tool called PlayVisualizerC (PVC). PVC, which is designed for novice C programmers, provides solutions (S1-3) to P1-3. S1 offers complete support for dynamic memory allocation, standard I/O, and file I/O. S2 is designed to be installed with a user’s web browser, and its server program can be initiated by executing a jar file. S3 reduces the steps required for revisualization. To evaluate this program, we conducted an experiment and questionnaire with 30 students. A set of four programming tasks are solved on average 1.7 times more quickly and with 19% more correct answers than those using a current state-of-the-art visualization tool.