Notebooks are increasingly popular programming tools adopted by a diverse range of users, including professional and novice users, from various fields not necessarily skilled in software engineering, to experiment with programming and develop software. Notebooks are often used within interactive and exploratory programming settings; however, some of their main use cases are not naturally supported by their design. For example, users can only get insights into the program’s state by executing program fragments and updating one’s mental model. This paper discusses the possibility of defining widgets to improve notebooks by providing direct insights into the program state. The widgets are developed upon previous work in which a novel approach to incremental programming is suggested based on the notion of an exploring interpreter. As example, we present widgets for visualizing execution history and variable assignments, thereby reducing the cognitive load on users.

, , , ,
2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
Software Analysis and Transformation

Verano Merino, M., van Binsbergen, T., & Seraj, M. (2022). Making the invisible visible in computational notebooks. In Proceedings of the 2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (pp. 1–3). doi:10.1109/VL/HCC53370.2022.9833148