Collaborative notebooks for ML course at Cambridge

A case study about how Deepnote can support university courses.

Collaborative notebooks for ML course at Cambridge  - preview image
A few months ago we started talking to Gabor Csanyi, a professor at Cambridge. His goal was simple: offer his students a way to work on assignments easily. ***Professor Gabor Csanyi*** *Gabor’s expertise is in atomistic simulation, particularly in multi scale modelling that couples quantum mechanics to larger length scales. He is currently engaged in applying machine learning techniques to modelling materials and molecules. [\[1\]](http://www.eng.cam.ac.uk/profiles/gc121)* ***The University of Cambridge*** *The University of Cambridge is a collegiate research university in Cambridge, United Kingdom. Founded in 1209 and granted a royal charter by King Henry III in 1231, Cambridge is the second-oldest university in the English-speaking world and the world's fourth-oldest surviving university. It is regularly among the top handful of universities worldwide in every reputable ranking. [\[2\]](https://en.wikipedia.org/wiki/University_of_Cambridge)* ## Situation The SF3 Machine Learning course is a short and intensive laboratory course for 3rd year engineers, completed over 4 weeks and accounts for 50% of the students’ course load during that time. It sets a sequence of increasingly challenging technical tasks, with minimal introduction and ongoing instruction. The students code up their own ML algorithms to achieve solutions of a set milestones, and submit a 15-20 page report. The challenge for us was setting up an environment where students can complete the technical parts. Gabor mentioned a few setups he tried for his class before, such as having students only use their own development environment on their laptops, a hosted environment on Azure, or managing JupyterHub on departmental servers. None of these worked particularly well: - There were always students with obscure problems when trying to install development environments. Even if it’s only 2-3 students, helping them (especially remotely) was extremely time consuming. - Azure is a great cloud provider, but at their size it was not possible to get a personal relationship with them, resulting in no support for some more specific needs. The virtual machines crashed frequently. - Setting up and maintaining a JupyterHub installation for a large number of students has proven to be too difficult, and the department could not afford the extra staff time it would have required. ## The Execution ### Easy setup Deepnote is a new kind of data science notebook, which is very easy to set up. When Gabor created an assignment, the students could duplicate it with a single click, and start working right away. The duplicated project did not only contain the Jupyter notebook and other code, but the entire execution environment with all requirements, ready to run. This ensured that no students had trouble setting up, and they could focus on the problem at hand. ### Collaborative by default Sometimes help is needed nonetheless. With tools aimed at individual productivity, the workflow to get help is usually an email with a screenshot, copy-paste or an attachment, and response with typed instructions with some back-and-forth in between. Modern tools have much better interfaces. A shared URL lets the teacher inside the project, open a terminal, and provide help efficiently. They can fix the problem completely, or just leave comments with advice. *“Deepnote provided me with a completely new teaching interface for when students are stuck”.* -- Professor Gabor Csanyi When students shared a project with Gabor, they interacted with the same execution environment, and saw what the others were doing in real time. This not only cut down on the time and effort required to help the students along, but allowed a more nuanced approach. Because variables can be inspected and quick tests can be run by the teacher, he or she can much more effectively direct the student to learn to debug their own code. Even the debugging effort (because it is visible to the teacher in real time) can be debugged! ## The Impact Supporting this class piloted the cooperation between Deepnote and Cambridge: - The class had 35 students - The coursework lasted 4 weeks - Students executed cells over 30,000 times At Deepnote we are excited to keep building this partnership and look forward to supporting more departments, professors and students.