Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In addition to the official JupyterHub, it is possible to create dedicated specialized hubs to be used for specific courses. If you are an instructor for a course (or courses) and think the course might benefit from its own JupyterHub, you can contact usNTNU IT Forskningsstøtte, through NTNU Hjelp or via email at jupyterhub (at) it.ntnu.no.

Please include at least the following infoinformation when contacting us about a new JupyterHub:

  1. Relevant course code(s).
  2. Approximate number of students.
  3. Name and NTNU email address for at least one instructor responsible for the JupyterHub.
  4. Any customisation required? 
  5. Is there a need for delivering and grading assignments with nbgrader on the hub? Any customisation required? 

(If the answer to 4. and 5. is a 'no', please consider whether your course can use https://jupyterhub.apps.stack.it.ntnu.no/ instead.)

Customisation

The hubs can be customised in a few different ways.

All of our hubs are based on the Jupyter official jupyter/datascience-notebook image, with a few additional tweaks. Generally speaking, the image covers many use - cases within basic programming and datascience data science with the packages and modules it has the image comes with by default. You can find the full list of the pre-installed packages here. However, many courses require specific packages to be installed. It is possible to install any packages and modules, notebook- and/or jupyterlab extensions beforehand, that should be ready for the students by default. We can of course all users of the hub. Unfortunately this can be only done by us, the maintainers of the adminshub, the instructors (and any other users) can only install packages to their own environments. We can install new packages at any point throughout the semester as well if needed - just get in touch with us

The hubs use the Jupyterlab interface by default, but that can be changed to the Notebook interface. That is not a hard limitation however, users can always change between the lab and notebook interfaces just by changing the URL.

...

While the official JupyterHub allows anyone at NTNU to log in, access to the custom dedicated hubs is generally limited to students and instructors enrolled to specific courses. Access to the hubs is usually often limited to two types of user groups: 

  • The first group is the Felles Studentsystem (FS) group(s) for the course(s), which means that all students and course staff registered to the course in FS should gain access to the hub automatically. These groups are automatically fully managed by FS, we cannot manually add students (or instructors) to them. Please note that there can be a significant delay (from a few hours to a few days) between a student signing up to a course and the student being registered for the course on FS. The student will only be able to access the hub after they show up in the FS group. You can check whether you are a member of a group for a course at https://innsyn.feide.no/groups - the group names can vary but the structure of 'gruppekode' is always fc:fs:fs:emne:ntnu.no:{course code}:1.
  • The second group is an ad-hoc group that is created while when creating the hub. The ad-hoc group can be used to invite additional people to use the hub, who are not affiliated with the course in FS - for example teaching assistants or guest lecturers. The ad-hoc groups are most of the time usually called "NTNU Jupyterhub {course name}". The course coordinator (or the person contacting us about creating the hub) will receive an email invitation to manage the adhoc ad-hoc group, and after accepting the invitation they will be able to invite additional people to the group as well as grant additional people the ability to invite others. The group can be managed at https://innsyn.feide.no/groups.
    NOTE: the 'Make Admin' toggle when inviting people to the group only refers to being able to administrate the ad-hoc group (add and remove other users), it does not have any effect on the user's status on the actual JupyterHub. The invitations are fairly short lived, they will expire in a matter of few days. The invitations also have a tendency to get mislabeled as junk email, so please do check your junk email if you are expecting an invitation and have not received one.

Admin users and instructors

...

The shared folder can be used as a simple way for sharing files from the course staff to students on the hub. The folder is a directory of which contents every user on the hub can see and read from, but only admin users and members of the instructor group can write to. The only way students can make changes to the files under the shared folder is to make personal copies of the files into their own home directories. Students are not able to write to files in the shared folder directly.

...

The Jupyter extension nbgitpuller can be used create a link that will automatically clone a git repository onto a user's environment, given that your the notebooks and files you want to share are stored in a publicly accessible git repository. It is incredibly very simple to use, no git experience required; the user only needs to click the generated link, and nbgitpuller will transfer the files from the git repository to the user's home directory. nbgitpuller is automatically installed on each hub. 

Website for generating nbgitpuller links: https://nbgitpuller.readthedocs.io/en/latest/link.html

Assignments on JupyterHub

nbgrader is a Jupyter extension that allows for creating, distributing and grading assignments within a JupyterHub

...

NBGRADER DOCUMENTATION COMING SOON

. In a nutshell, nbgrader is a set of tools that facilitates for: 

  • Instructors can create and publish assignments that contain differents tasks that can be either automatically or manually graded in nbgrader. 
  • Students can see all assignments released on the hub, and download all notebooks and other required files with a single click.
  • Students can work on the notebooks and submit their work on the assignments for grading. 
  • Instructors can collect submissions from the students, grade them and generate and release feedback back to the students.
  • Students can download the generated feedback file, showing their scores on the different tasks, as well as optional manual feedback from instructors.

nbgrader can be enabled on any given hub at any point. 

nbgrader works with both Jupyterlab and Jupyter Notebook.https://nbgrader.readthedocs.io/en/stable/