JupyterLab Extensions for Blocks Programming, Self-Explanations, and HTML Injection


JupyterLab is a widely used platform for programming and data science using computational notebooks, but it has not been widely used in the educational data mining community as a source of student data. We have developed three JupyterLab extensions to enable educational data mining research in CSEd and data science. Our Blockly extension supports blocks-based programming in JupyterLab and logs both event-level blocks actions as well as kernel actions and errors. Our self-explanation extension appends self-explanation prompts to codes cells and logs the input text for further analysis. Finally, our HTML injection extension allows injection of arbitrary HTML and Javascript into JupyterLab notebooks to enable pedagogies and data collection currently unsupported by JupyterLab. All extensions are open-source and distributed through NPM.

Publication Title

CEUR Workshop Proceedings

This document is currently not available here.