Jupylates: spaced repetition for teaching with Jupyter
09-25, 11:05–11:35 (Europe/Paris), Gaston Berger

Jupyter based environments are getting a lot of traction for teaching computing, programming, and data sciences. The narrative structure of notebooks has indeed proven its value for guiding each student at it's own pace to the discovery and understanding of new concepts or new idioms (e.g. how do I extract a column in pandas?). But then these new pieces of knowledge tend to quickly fade out and be forgotten. Indeed long term acquisition of knowledge and skills takes reinforcement by repetition. This is the foundation of many online learning platforms like Webwork or WIMS that offer exercises with randomization and automatic feedback. And of popular "AI-powered" apps -- e.g. to learn foreign languages -- that use spaced repetition algorithms designed by educational and neuro sciences to deliver just the right amount of repetition.

What if you could author such exercizes as notebooks, to benefit from everything that Jupyter can offer (think rich narratives, computations, visualization, interactions)? What if you could integrate such exercises right into your Jupyter based course? What if a learner could get personalized exercise recommandations based on their past learning records, without having to give away these sensitive pieces of information away?

That's Jupylates (work in progress). And thanks to the open source scientific stack, it's just a small Jupyter extension.


In this talk, we will first briefly review our usage of Jupyter for teaching at Université Paris-Saclay, to motivate how we came to develop Jupylates. Then, after a quick demo, we will discuss its design, describe its current and upcoming features, and report on its usage in two large freshmen classes in 2023-2024.

Time permitting, we will zoom out and deliver a brief tour of our Jupyter course infrastructure, advertising in particular Travo for GitLab-based nbgrader-compatible assignment management.

See also: Screenshot