Description
We, a team of scikit-learn core developers and contributors, created the "Machine Learning in Python in scikit-learn" MOOC (Massive Open Online Course) in 2021 with the goal of making it accessible to an audience without a strong technical background.
Since then, we have run three sessions of the MOOC, with an average of roughly 10,000 registered participants, and have reused the material for scikit-learn courses in a variety of settings, for example Python conference tutorials, remote scikit-learn training and in-person university courses.
In this talk, we will describe how we leveraged tools within the Jupyter ecosystem to develop the course material and teach it, in particular: - JupyterBook and Jupytext to develop the material in a convenient and collaborative fashion - JupyterHub to give learners a zero-install live environment during the MOOC session - Binder for convenient fall-back for tricky installation issues together with its integration into JupyterBook
We will also share the lessons we learned along the way while developing the material, running the MOOC and teaching the material.
We will conclude with some of our ideas to improve the course, for example: - using Jupyterlite in our JupyterBook setup and potentially replace our JupyterHub in the longer term. Towards this goal, we already have started investigating issues we found in Pyodide scipy and scikit-learn packages - moving away from classic notebook to Retrolab - moving to jupyterlab-myst to better support MyST markdown inside notebooks and get rid of our custom scripts to genenerate HTML admonitions
The content of the course is available under a CC-BY license at https://inria.github.io/scikit-learn-mooc and the associated repository at: https://github.com/inria/scikit-learn-mooc. The MOOC is available at: https://www.fun-mooc.fr/en/courses/machine-learning-python-scikit-learn/.