# Determine Your Workflow

Depending on how familiar students are to *Version Control* technologies such as ***Git***, different workflows may fit best the strategy used to distribute coding materials and assignments.

## Ⓢ① Students in classes that are new to programming and/or version control

### Related sections in the documentation (look for ① and Ⓢ in the section title):

* [Getting Started](/archive/jupyterhub/getting-started/signin.md)
* [Using Your Hub](/archive/jupyterhub/using-your-hub/interface-overview.md)
* [Getting Support](/archive/jupyterhub/help-and-support/getting-support.md)

## Ⓣ① Teachers looking for a simple way to **distribute materials to students who will NOT be introduced to git.**

There are two options:

### Direct Upload:

This simple workflow assumes **no git knowledge** from the student nor the instructor. Notebook files are shared via CANVAS and directly uploaded to JupyterHub

![Direct File Upload Workflow](/files/amJIdfwNj5Z9WuViPIzl)

#### Related sections in the documentation (look for Ⓣ ① in the section title):

* [Getting Started](/archive/jupyterhub/github-classroom-student-guide/overview.md)
* [Using Your Hub](/archive/jupyterhub/getting-started/signin.md)

### Via Smart Link

Using this workflow, teachers have the ability to generate a **smart link** that pulls the materials automatically for students into their JupyterHub. If you are a teacher using this method, you will need **basic familiarity with git and github.**

![Workflow when synching content using a (special) link](/files/iyNWNXUGlcGYac6vnF8w)

#### Related sections in the documentation :

* [Content sync via link Ⓣ①](/archive/jupyterhub/content-sync-via-link/nbgitpuller.md)

## ⓉⓈ② Teachers and Students using Git/GitHub and GitHub Classroom

Using Git and GitHub to distribute your materials encourages best practices for software development and additionally adds versioning to changes made to the source code, allowing students to revert to prior versions if necessary. If you will be using Git, we recommend using ***GitHub Classroom*** to help automate the process.

### Related sections in the documentation (look for ② in the section title):

Ⓢ Students should familiarize themselves with:

* [Content Sync via GIT](/archive/jupyterhub/git-basics/overview.md)
* [GitHub Classroom (Student Guide)](/archive/jupyterhub/github-classroom-student-guide/overview.md)

Ⓣ Teachers should familiarize themselves with:

* [Content Sync via GIT](/archive/jupyterhub/git-basics/overview.md)
* [GitHub Classroom (Instructor Guide)](/archive/jupyterhub/github-classroom-instructor-guide/overview.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ccv.brown.edu/archive/jupyterhub/workflows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
