  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.
