NBGrader Notes

In [ ]:
!nbgrader extension install
In [ ]:
!nbgrader extension activate
In [ ]:
%%bash

nbgrader extension install
for user in $USERS; do
    cd $HOME/$user
    sudo -U $user nbgrader extension activate
done

Restart Server

In [ ]:
! mkdir -p ~/nbgrader/cs245

Put this notebook there. Reopen, for next command.

In [ ]:
%%file nbgrader_config.py

c = get_config()

c.NbGrader.course_id = "cs245"
c.TransferApp.exchange_directory = "/opt/nbgrader/exchange/"
In [ ]:
import os

if not os.path.exists("release"):
    os.makedirs("release")

if not os.path.exists("source/cs245-lab01"):
    os.makedirs("source/cs245-lab01")
In [ ]:
import os

# remove an existing database
if os.path.exists("gradebook.db"):
    os.remove("gradebook.db")
In [ ]:
#import shutil
#import os
#
#if os.path.exists("release/cs206-assignment01"):
#    shutil.rmtree('release/cs206-assignment01')
In [ ]:
# create a connection to the db using the nbgrader API
from nbgrader.api import Gradebook
gb = Gradebook("sqlite:///gradebook.db")
In [ ]:
# add some students to the database
gb.add_student("dblank", first_name="Douglas", last_name="Blank")
In [ ]:
# add the assignment to the database and specify a due date
gb.add_assignment("cs245-lab02", duedate="2016-12-09 17:00:00.000000 PST")
#gb.remove_assignment("cs206-assignment01")

Edit nbgrader_config.py

Add assignment:

c.NbGrader.db_assignments = [dict(name="cs245-lab01"), dict(name="cs245-lab02")]
In [ ]:
! nbgrader assign "cs245-lab02"
In [ ]:
! nbgrader release "cs245-lab02"
In [ ]:
! nbgrader list
In [ ]:
! nbgrader collect "cs206-assignment01" --update