rabernat / pangeo_classroom

Pangeo deployment for teaching
0 stars 0 forks source link

add nbgrader / formgrader notebook extensions to docker image #3

Open rabernat opened 6 years ago

rabernat commented 6 years ago

http://nbgrader.readthedocs.io/en/stable/user_guide/installation.html

It looks like this will just not work with jupyterlab. https://groups.google.com/forum/#!msg/jupyter-education/IH2NJPNJOsM/7E2MP1l6BQAJ

rabernat commented 6 years ago

I did some research. There are a couple of open issues about using nbgrader with the jupyterhub-kubernetes helm chart

Bottom line is that it basically doesn't work yet 😐.

What the Berkeley folks to is to use https://github.com/data-8/nbgitpuller to distribute materials to students, and http://okpy.org for the grading.

If we wanted to go the nbgrader route and use jupyterhub-k8s, we basically need to run an NFS server, which introduces lots of pain points.

@mandli -- what do you think would be the best way forward?

rabernat commented 6 years ago

One alternative to okpy.org would be to just have students upload their assignments via courseworks. This could work for me, as most of my assignments need to be graded manually by the TA.

rabernat commented 6 years ago

This comment explains the hacks necessary to use nbgraded within the existing jupyterhub-k8s framework: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/174#issuecomment-410235452

mandli commented 6 years ago

The first time I used nbgrader I had students turn them into courseworks and then ran nbgrader locally on my machine. I can share the scripts that I used to get that all to work.

rabernat commented 6 years ago

That is definitely the path of least resistance. If you're ok with it, than so am I.

On Fri, Aug 10, 2018 at 12:34 PM Kyle Mandli notifications@github.com wrote:

The first time I used nbgrader I had students turn them into courseworks and then ran nbgrader locally on my machine. I can share the scripts that I used to get that all to work.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/rabernat/pangeo_classroom/issues/3#issuecomment-412136842, or mute the thread https://github.com/notifications/unsubscribe-auth/ABJFJqbEVu6cPUyVxRNgF32sng83ltMnks5uPbYFgaJpZM4Vz2b3 .

mandli commented 6 years ago

The one downside is that students will have to install everything but I think this drawback is less serious than it once was.

rabernat commented 6 years ago

I don't follow.

I am proposing that they use pangeo.pydata.org (our our own private deployments thereof) together with nbgitpuller to distribute assignments. They do the assignments in the cloud. But to submit them, they just click on the notebook in the browser, select "download," and then upload the file to courseworks.

rabernat commented 6 years ago

We could also skip nbgitpuller and just use a custom script that checks out the latest git repository of assignments every time they log in. Like this: https://github.com/pangeo-data/helm-chart/blob/master/docker-images/notebook/prepare.sh#L8-L21

rabernat commented 6 years ago

I have decided that I am not going to integrate nbgrader this time around. Hopefully it will be ready next year.

I am going to have them submit their assignments using git, as we did last year.