Data Science & Programming literacy is an important aspect of literacy in the 21st century, but teaching these skills at scale is quite difficult. At UC Berkeley, we are trying - our 'Foundations of Data Science' course has no pre-requisites, and routinely attracts more than a 1000 students from across majors.
Requiring students to have local programming environments installed & debugged is a non-starter at this scale. We have been running a Kubernetes based JupyterHub environment that allows them to do all their programming with a web based environment with Jupyter Notebooks. This is an important change in many ways:
1. Lets students start instantly with writing code, rather than dealing with the accidental complexity of installing software locally
2. Acts as an equalizer - a student using a chromebook borrowed from the library has no disadvantage over someone using an expensive Macbook Pro
3. This is course critical infrastructure, and needs high availability at low human / dollar cost
In this talk we'll go over how we have:
1. Used Kubernetes to make reduce our costs while allowing a larger group of people to deploy safely to various cloud providers.
2. Extracted our JupyterHub deployment into a project part of Project Jupyter (Zero to JupyterHub) that is being adopted at other universities & organizations.