[IPython-dev] [jupyter] Re: Best practice of deployment for university courses

Brian Granger ellisonbg at gmail.com
Tue May 19 17:59:45 EDT 2015


Thanks Jess for filling in the details of this. The most important thing is
that this approach works really well, even if you are not using nbgrader to
do the actual grading.

Also, if you simply make sure the default exchange directory is created on
the system ("/srv/nbgrader/exchange"), then you and the students won't have
to pass that as an argument to the commands.

Cheers,

Brian

On Tue, May 19, 2015 at 2:54 PM, Jessica B. Hamrick <
jessica.b.hamrick at gmail.com> wrote:

> Hi Ozan,
>
> You probably don't want to activate nbgrader for all students --
> activating it just gives access to the Create Assignment toolbar (which
> really is better if only instructors have). As long as nbgrader is
> importable by anyone in the system, though, then that should be what you
> want in order to use nbgrader for releasing and collecting assignments.
> This isn't really documented well yet, but essentially, as an instructor,
> you can release assignments like this (this is what Brian was referring to
> in his email):
>
> # looks in the release/ directory for an assignment called "Problem Set 1"
> and copies it to the exchange
> nbgrader release
> --ReleaseApp.exchange_directory=/opt/notebooks --course=MATH101 "Problem
> Set 1"
>
> Then students can do:
>
> # copy the assignment locally to a directory called "Problem Set 1"
> nbgrader fetch MATH101 "Problem Set 1"
> --FetchApp.exchange_directory=/opt/notebooks
>
> # submit completed version of the assignment back to the exchange
> nbgrader submit "Problem Set 1" MATH101
> --SubmitApp.exchange_directory=/opt/notebooks
>
> And then the instructor can download the assignments like this:
>
> # will copy submissions to the submitted/ directory
> nbgrader collect
> --CollectApp.exchange_directory=/opt/notebooks --course=MATH101 "Problem
> Set 1"
>
> So it's pretty similar to the setup you described in your initial email.
> Hopefully I'll have some time soon to document this a bit better; in the
> meantime, please feel free to ask me any questions.
>
> Cheers,
> Jess
>
> On Mon, May 18, 2015 at 10:13 AM Brian Granger <ellisonbg at gmail.com>
> wrote:
>
>> Actually I think that nbgrader would be a fantastic solution for this. I
>> have been using it this quarter to distribute/collect content to students
>> and it is working great - even if you don't use the rest of it. The setup
>> required is super minimal as well. I have to run now, but will post more
>> details on this later.
>>
>> Cheers,
>>
>> Brian
>>
>>
>> On Mon, May 18, 2015 at 9:02 AM, Matthias Bussonnier <
>> bussonniermatthias at gmail.com> wrote:
>>
>>> Hum, I'm not sure about nbgrader either. But on the other hand you
>>>
>>> 1) probably don't want all user to use nbgrader.
>>> 2) need to mess with each nbgrader-admin-user permissions if you want
>>> them to be able to  distribute notebooks in students homes.
>>>
>>> So I'm not 100% sure a systemwide install/configration of nbgrader is
>>> wise or doable.
>>>
>>> On Mon, May 18, 2015 at 7:42 AM, Ozan Çağlayan <ozancag at gmail.com>
>>> wrote:
>>> > n Mon, May 18, 2015 at 5:13 PM, Ozan Çağlayan <ozancag at gmail.com>
>>> wrote:
>>> >> aah, well i didn't know about that! So I'll recheck it.
>>> >>
>>> >> Meanwhile I have another question :)
>>> >>
>>> >> Once everything seems ok, I'll create UNIX user accounts automatically
>>> >> with a script but currently I do not know whether I need some
>>> >> precreated jupyter/ipython related configuration folders or files in
>>> >> user's home directories. For example I just installed a Py2.7
>>> >> environment with conda globally and did run "ipython kernelspec
>>> >> install-self" as root. Now when I login through jupyterhub, my regular
>>> >> user can benefit from both the default Python3 environment and the
>>> >> newly installed Python2 one. Do you think that at some point, I will
>>> >> need to modify/copy stuff into each user's home directory in order to
>>> >> add a feature or change a behaviour in the jupyter stack?
>>> >>
>>> >> I hope the question is clear :/
>>> >
>>> > To clarify now,
>>> >
>>> > I just installed and activated nbgrader as root but apparently I
>>> > should do this for each user on the system who would like to use
>>> > nbgrader as the activation happens inside ~/.ipython. That was a case
>>> > for the question above I think. Or maybe it is possible to create a
>>> > system-wide ipython profile which will get inherited by regular users.
>>> > I don't know, I'm confused :)
>>> > _______________________________________________
>>> > IPython-dev mailing list
>>> > IPython-dev at scipy.org
>>> > http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Project Jupyter" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to jupyter+unsubscribe at googlegroups.com.
>>> To post to this group, send email to jupyter at googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/jupyter/CANJQusUcfzBkQXNn2TmFU5ADHhwN1exb0uDpzSBvhn4UHdJEtQ%40mail.gmail.com
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Brian E. Granger
>> Cal Poly State University, San Luis Obispo
>> @ellisonbg on Twitter and GitHub
>> bgranger at calpoly.edu and ellisonbg at gmail.com
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Project Jupyter" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to jupyter+unsubscribe at googlegroups.com.
>> To post to this group, send email to jupyter at googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jupyter/CAH4pYpRgLz0qdKMzwrU8PgdZWzvLKVjF08eX8k9mcYxh0%2B4yZw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/jupyter/CAH4pYpRgLz0qdKMzwrU8PgdZWzvLKVjF08eX8k9mcYxh0%2B4yZw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Project Jupyter" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jupyter+unsubscribe at googlegroups.com.
> To post to this group, send email to jupyter at googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jupyter/CALUXcBzNVq_Q5h3O0346V3m7Q_dAHqt2sYL-xzpCqU-f_qRM_g%40mail.gmail.com
> <https://groups.google.com/d/msgid/jupyter/CALUXcBzNVq_Q5h3O0346V3m7Q_dAHqt2sYL-xzpCqU-f_qRM_g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger at calpoly.edu and ellisonbg at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20150519/3ca32f22/attachment.html>


More information about the IPython-dev mailing list