Hi Zach,
This is a fine place to ask questions about nbgrader! You're also welcome to ask questions through issues on the repository. There is also a list for people using Jupyter in educational contexts that you might be interested in:
https://groups.google.com/forum/#!forum/jupyter-education
Unfortunately, on the student's side, if they aren't using a shared filesystem then the nbgrader tools won't apply to them. That said, you can still absolutely use nbgrader to create and grade the assignments -- it just won't help with distributing the files to students or collecting them. There is currently work-in-progress (e.g.
https://github.com/jupyter/nbgrader/pull/526) for integrating nbgrader better with LMSes (like Canvas) but it isn't ready for general use yet.
Releasing assignments while not on a shared filesystem should be pretty easy -- after running 'nbgrader assign', you can zip/tar the assignment in the 'release' folder and email it to students, upload it to a LMS, etc. Collecting assignments is a bit trickier -- what we've done in the past is have students download the zipped assignment, unzip it, and then zip it back up when they're done and upload it to the LMS. After downloading the submitted assignments you would then need to write a script to put them in the directory layout that nbgrader expects (see
http://nbgrader.readthedocs.io/en/stable/user_guide/philosophy.html ). After that, you should be able to run the autograder as normal.
The biggest pitfall with this approach is if students rename files. nbgrader expects the submitted files to have exactly the same names as they had when they were released, so if students rename them then that will cause issues.
Hope that helps -- let me know if you have any further questions!
Cheers,
Jess