30.08 Teaching materials

Best practices and resources for preparing teaching materials.

Table of contents

Input

  • Check other courses here

Page

  • Each course should have a separate repository and page.
  • Options to provide feedback should be linked on the first page.

Repository Setup

A teaching repository contains

  • A syllabus (example)
  • Detailed teaching notes allow teaching assistants to replicate it quickly.
  • Links related to continuous improvement: feedback, evaluations, improvement.
  • Add branch protection rule for main: restrict deletions and block force pushes

Additional checks:

  • Dates, rooms, and links should be in one place to prevent inconsistent information.
  • VC links never point to a specific course but to a search in VC (e.g., for the project).
  • Teaching contents are licensed under the CC-BY license per default.

Notebooks and Exercises

We use Jupyter notebooks for exercises.

Resources

Slides

  • Slides are in Markdown.
  • HTML and PDF versions are automatically generated (e.g., GitHub actions).
  • Learning objectives should be on all slides (verifiable outcomes).
  • Use markers for tasks/questions (see example)

Teaching notes

  • Teaching notes are shared and updated regularly.

Week 1: Topics (Teaching notes)

Time (min) Duration Topic Additional materials
0-10 10 Intro and instructor background  
10-25 15 What you will learn  
50-80 30 Orientation in Open Source projects Group task, discussing solutions afterwards
80-90 10 Next steps  

In this session, our goal is to …. (competencies)

Summary of last session.

Intro and instructor

  • Contents (e.g., photo of the board writing)
  • Highlight areas that can be shortened (optional)
  • Additional challenges and tasks for students
  • Typical questions raised (common errors)

Summarize lessons learned.

Page breaks for PDFs/print

<div class=”page-break”></div>

Terminal animations (asciinema)

Installation

pip install asciinema
git clone https://github.com/asciinema/agg
cd agg
docker build -t agg .

Recording and conversion

asciinema rec demo.cast
# code ...
# ctrl+d to quit
# convert:
docker run --rm -it -u $(id -u):$(id -g) -v $PWD:/data agg demo.cast demo.gif

Feedback

  • Limesurvey
  • Rustpad for anonymous feedback/suggestions (contents are deleted after 1 day of inactivity)

Embedding Google Forms (anonymous responses possible):

<style>
blockquote {
    border-top: 0.1em;
    font-size: 60%;
    margin-top: auto;
}
</style>

<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSeACViOkyuuG3Bvz4Dhq1yA-Fm8WTPiRst5D_IxK3UuRyFzjg/viewform?embedded=true" width="100%" height="90%" frameborder="" marginheight="0" marginwidth="0">Wird geladen…</iframe>

> Open [responses](https://docs.google.com/forms/d/1Wa_MNL3zClW7j-1NPm31PIP7pXs7QqLnZPi4oefA_gA/edit#responses){: target="_blank"}

Resources