Eye: Program Visualizer for CS2

by   Aman Bansal, et al.

In recent years, programming has witnessed a shift towards using standard libraries as a black box. However, there has not been a synchronous development of tools that can help demonstrate the working of such libraries in general programs, which poses an impediment to improved learning outcomes and makes debugging exasperating. We introduce Eye, an interactive pedagogical tool that visualizes a program's execution as it runs. It demonstrates properties and usage of data structures in a general environment, thereby helping in learning, logical debugging, and code comprehension. Eye provides a comprehensive overview at each stage during run time including the execution stack and the state of data structures. The modular implementation allows for extension to other languages and modification of the graphics as desired. Eye opens up a gateway for CS2 students to more easily understand myriads of programs that are available on online programming websites, lowering the barrier towards self-learning of coding. It expands the scope of visualizing data structures from standard algorithms to general cases, benefiting both teachers as well as programmers who face issues in debugging. Line by line interpreting allows Eye to describe the execution and not only the current state. We also conduct experiments to evaluate the efficacy of Eye for debugging and comprehending a new piece of code. Our findings show that it becomes faster and less frustrating to debug certain problems using this tool, and also makes understanding new code a much more pleasant experience.


page 1

page 2

page 3

page 4


COSPEX: A Program Comprehension Tool for Novice Programmers

Developers often encounter unfamiliar code during software maintenance w...

onlineSPARC: a Programming Environment for Answer Set Programming

Recent progress in logic programming (e.g., the development of the Answe...

Code Building Genetic Programming

In recent years the field of genetic programming has made significant ad...

Integrating Data Structures and Algorithms in K-12 Education using Block-based Programming

This paper describes the design and evaluation of DSAScratch, an extensi...

D2.3 Power models, energy models and libraries for energy-efficient concurrent data structures and algorithms

This deliverable reports the results of the power models, energy models ...

Racets: Faceted Execution in Racket

Faceted Execution is a linguistic paradigm for dynamic information-flow ...

GPT is becoming a Turing machine: Here are some ways to program it

We demonstrate that, through appropriate prompting, GPT-3 family of mode...

Please sign up or login with your details

Forgot password? Click here to reset