Beyond Watching: Next Generation Programming Tutorials Leveraging Interaction Data

Beyond Watching: Next Generation Programming Tutorials Leveraging Interaction Data

1 January 2020 Project PI

This project investigates a next generation approach to author, deliver, and experiment with programming video tutorials and lectures by leveraging the research performed in the past few years in mining interaction data, and in particular the experience we had building Tako.

In such an integrated platform, which is a customized version of Visual Studio Code, users are able to fully navigate the tutorial in all media dimensions, from video to slides, and from accompanying resources to code, enabling full experimentation by the learner. The user can fast-forward and rewind the video stream of the instructor and the IDE state. More importantly, each state can be inspected and modified at any time, for example to check the types of variables or the full context around the currently edited code. Our platform has the potential to significantly improve the way video tutorials are produced and perused and thus the way programming teaching and training are performed.

Technologies

People

Publications

28 September 2020 Paper
7670 words · 39 minutes

Visualizing Interaction Data Inside & Outside the IDE to Characterize Developer Productivity

Work fragmentation is a common phenomenon in the workspace, and is detrimental to the actual work taking place. To measure and study the impact of work fragmentation in software development, several studies exploited interaction data, i.e., the data generated by the events performed by the developers in the IDE. However, the absence of information on activities performed outside the IDE could lead to a misclassification of development time. In fact, sometimes leaving the IDE is not an interruption of the task at hand, e.g., when consulting API documentation, or when discussing with colleagues in ad-hoc collaboration applications. In this paper, we propose Ferax, a data analytics platform that developers can leverage for retrospection and possibly to improve their productivity. The capabilities of Ferax are twofold: First, it extends Tako, a profiler to record IDE interaction data for Visual Studio Code, with information about which applications were used and which websites were visited. Second, to enable the understanding of productivity and interruptions on developer sessions, Ferax provides interactive visualizations that show the detailed sequence of events inside and outside the IDE, the switches the developer performs by classifying them as productive or possible interruptions, and the time distribution for application usage. As a preliminary evaluation of Ferax we have collected and analyzed real development sessions from a set of master students and two professional developers. We illustrate how a developer can leverage Ferax to characterize her usual habits, to elicit the impact of interruptions, and to better characterize sessions which were only apparently unproductive.

Visualizing Interaction Data Inside & Outside the IDE to Characterize Developer Productivity

Beyond Watching: Next Generation Programming Tutorials Leveraging Interaction Data

1 January 2020 Project