Omnicode: A Novice-Oriented Live Programming Environment with Always-On Run-Time Value Visualizations
Omnicode: A Novice-Oriented Live Programming Environment with Always-On Run-Time Value Visualizations
复制标题
Omnicode:面向新手的实时编程环境,具有始终在线的运行时价值可视化
DOI:
10.1145/3126594.3126632
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Philip J. Guo
中科院分区:
文献类型:
--
作者:
Hyeonsu B Kang;Philip J. Guo
Visualizations of run-time program state help novices form proper mental models and debug their code. We push this technique to the extreme by posing the following question: What if a live programming environment for an imperative language always displays the entire history of all run-time values for all program variables all the time? To explore this question, we built a prototype live IDE called Omnicode ("Omniscient Code") that continually runs the user's Python code and uses a scatterplot matrix to visualize the entire history of all of its numerical values, along with meaningful numbers derived from other data types. To filter the visualizations and hone in on specific points of interest, the user can brush and link over the scatterplots or select portions of code. They can also zoom in to view detailed stack and heap visualizations at each execution step. An exploratory study on 10 novice programmers discovered that they found Omnicode to be useful for debugging, forming mental models, explaining their code to others, and discovering moments of serendipity that would not have been likely within an ordinary IDE.
DOI:
10.1145/3105726.3106178
发表时间:
2017
期刊:
ACM International Computing Education Research Conference
影响因子:
--
作者:
Nelson, Greg L.;Xie, Benjamin;Ko, Andrew J.
通讯作者:
Ko, Andrew J.