We set up a littlest jupyter hub, which was great for playing around but we needed a few tweaks so we now have a similar 1-machine set up for a class or two. There are 2-3 200 level (sophomore year) cs courses, a couple of psychology courses and maybe two other moderately intensive courses. I am guessing around 30 students per class, so perhaps a total of 30 x 6 or 360 students may need to be supported on the hub. Again ruling out any heavy use classes like machine learning or big data.
We are going to apply for time to stand this up on Azure, Amazon or Google and we need to know what we are going to ask them? About how many nodes? How many hours (with a bit of margin of error)? It would be great if there were a formula under some assumptions based on the jupyterhub team experience?