Skip to content

Commit

Permalink
Merge pull request #63 from sean-morris/master
Browse files Browse the repository at this point in the history
Added Authoring Recordings
  • Loading branch information
sean-morris authored Apr 10, 2024
2 parents 27b400e + 8348257 commit ee7b7bd
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,4 @@ ENV/
.sass-cache
_site
_build
jupyter/.DS_Store
2 changes: 2 additions & 0 deletions _toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ sections:
sections:
- file: staff/roles
title: Roles and Responsibilities
- file: authoring/authoring_screen_recordings
title: "Authoring: Start-to-Finish"
- file: jupyter/intro
title: Jupyter Notebook Assignments
sections:
Expand Down
29 changes: 29 additions & 0 deletions authoring/authoring_screen_recordings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Authoring Notebooks

Here are a series of recordings that lead through how to author Jupyter Notebooks as well as Otter-Graded based notebooks.

**Part 1:** Setting up your environment [Screen Recording (5 min)](https://drive.google.com/file/d/1JWs35cRRaGbtYlsVGFfFPxE3p26oqZna/view?usp=drive_link)

The first step in authoring is configure the repositories and editing environment you need. In this recording we illustrate:
- the creation of the GitHub Repositories needed for students and instructor materials
- Uploading notebook and accompanying materials to a JupyterHub in order to facilitate making changes


**Part 2:** Running Otter Assign [Screen Recording (12 min)](https://drive.google.com/file/d/1yR-YF8EyOnyex7TzeB55N6Lzxijx20pT/view?usp=drive_link)

This part reviews Part 1, assumes the changes you need to make and now we run `otter assign`.
The video illustrates, from a JupyterHub, the `otter assign` workflow once you have a otterized-notebook ready to be published. After the `otter assign` moment, we copy the student materials and instructor materials into the repositories created in Part 1.

**Part 3:** Distributing Notebook to Students(nbgitpuller links) [Screen Recording (5 min)](https://drive.google.com/file/d/1ENfB2T43WZfU_OWFkbOSxpPL7uK3gFz3/view?usp=drive_link)

If you are going to change the name of a notebook or you have a notebook you created from scratch, you can create special links that allow students to open notebooks seamlessly on a JupyterHub. This recording shows how these links are created via the nbgitpuller Chrome Extension.

**Part 4:** Authoring Jupyter Notebooks(without otter-grader!) [Screen Recording (12 min)](https://drive.google.com/file/d/1HVP-PCc-pY_anBnd7kMe98eL9VZu51WD/view?usp=drive_link)

If you are ambitious and branching out to create your own course or creating new assignments and content in an existing course, you may need to create a Jupyter Notebook that does not include self-grading -- a good example is a Jupyter Notebook used in a lecture that students may follow along with. There is no need for self-checks or instructor grading of these notebooks.

This recording also reviews uploading your notebooks(Part 2) and associated files to GitHub as well as generating the nbgitpuller link for distribution(Part 3).

**Part 5:** Authoring Jupyter Notebooks with Otter-Graded Content [Screen Recording (13 min)](https://drive.google.com/file/d/10rBSaX0V0IhEDDX-pFbBCXhv14skLKXG/view?usp=drive_link)

This adds onto Part 4, by including examples of Markdown to create otter-graded self-check questions as well as instructor grading questions. This includes assigning points as well as exploring how we might create questions that require students to code, answer short-answer or free-form questions or respond Multiple Choice prompts.
4 changes: 2 additions & 2 deletions jupyter/making_assignments.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Creating Data 8 Assignments

Assignments in Data 8 are created in [Otter-Grader-based](https://otter-grader.readthedocs.io/en/latest/) format. Otter-Grader parses a parent notebook containing questions, solutions, and tests to creates two disribution directories: one with solutions and all tests for autograders and a second with no solutions and only public tests for students. Otter-Grader also includes utilities to generate filtered LaTeX PDFs of students' notebooks to ease the process of manually grading written questions.
Assignments in Data 8 are created in [Otter-Grader-based](https://otter-grader.readthedocs.io/en/v4.4.1/) format. Otter-Grader parses a parent notebook containing questions, solutions, and tests to creates two distribution directories: one with solutions and all tests for automatic grading and a second with no solutions and only public tests for students. Otter-Grader also includes utilities to generate filtered LaTeX PDFs of students' notebooks to ease the process of manually grading written questions.

## Writing Your Own Assignments

Expand Down Expand Up @@ -65,7 +65,7 @@ test_higher_primes(sieve) # IGNORE

Once you have run otter-grader, you're ready to distribute your assignment to students! The `student` subdirectoy of your output directory will contain the version of the notebook for students (with solutions removed and only public tests) and the `autograder` subdirectory the version *with* solutions and hidden tests.

For more information, check out the [otter-grader documentation](https://otter-grader.readthedocs.io/en/latest/).
For more information, check out the [otter-grader documentation](https://otter-grader.readthedocs.io/en/v4.4.1/).

### Best Practices for Autograder Tests

Expand Down

0 comments on commit ee7b7bd

Please sign in to comment.