Table of Contents

Assignments and Resources

The course configuration and timeline both reference course content. The actual course content takes two forms: assignments and resources.

  • Assignments (in src/data/assignments/*/) have dates. Links to them appear automatically in several places in the generated web site: the course timeline, lists of current / upcoming work (e.g. “Today’s class”), and assignment index pages. Each assignment belongs to specific category. An assignment can either be a Coursage document hosted on the course site, an external URL, or just a bare name (useful for an in-class activity with no online supporting material).

    Examples of assignments:

    • in-class activities
    • reading assignments
    • homeworks
  • Resources (in src/data/resources/) do not have dates. The site will not link to all resources automatically. (There is no resource index page.) Instead, students will find resources via links you manually add to the timeline, the sidebar, other documents, other sites, messages to your students, etc. Resources can either be Coursage documents or raw files (such as PDF).

    Examples of resources:

    • general course information, syllabus
    • general instructions (e.g. course how-to guides)
    • reading materials (Note: When the content of a reading is hosted on the course site itself, is good practice to create a reading assignment that has a due date, instructions for submitting a response, etc., and then make that assignment link to a resource that contains the actual content of the reading.)

For more information on the formatting and structure of both kinds of document, see the document content section of this guide.

Summary:

Assignment Resource
has date(s) no dates
automatically listed manually linked
categorized by type one big bucket
document, URL, or bare name document or file

Coursage groups assignment into assignment types. Common examples include homeworks, activities, readings, tasks, and exams; however, the types are configurable on a per-course basis, so you can categorize assignments in a way that makes sense for each particular course.

Assignments types serve several purposes:

  • They tell students what kind of work to expect when they see an assignment on the course site.
  • They allow all assignments of a certain type to share default settings (e.g. for document appearance and instruction links).
  • They optionally create separate columns in the site’s schedule grid.
  • They create separate namespaces for assignment IDs. (In other words, there can be a foo reading and a foo in-class activity.)

Here is a basic assignment type:

task:
  name: "Task"
  name_plural: "Tasks"
  dir_name: "tasks"

Notes:

dir_name Determines both (1) the subdirectory of src/data/assignments/ that holds input data for assignments of this type and (2) the output directory / URL structure of the resulting course web site.

You can make several adjustments to how all assignments of a given type appear on the course site:

hw:
  name: "Homework"
  name_plural: "Homeworks"
  dir_name: "hw"
  display_mode: article
  instructions_url: "/resources/hw-submission-procedure"
  schedule_display: bubbles
display_mode Sets the default document display mode for all assignments of this type. Individual assignments can override this.
instructions_url Places a prominent link to this URL at the top of every assignment document of this type. (Note that assignments that are external URLs or bare names will not show this link; it only appears in Coursage documents.)
schedule_display Determines how assignments of this type appear on the schedule page. If it is links (the default), assignments show up as small links under the “before class” and “in class” columns. If it is bubbles, then this assignment type gets its own separate column in the schedule grid, with multicolored regions that show the timespan of each assignment from the assigned date to the due date.

It is possible for an assignment to have a due date but no date assigned. With only a due date and no assigned date, the assignment never shows up as being “in progress,” and does not show up in the daily summaries until the day it is due.

Normally you must explicitly place an assignment on the timeline if you want to give it a date assigned. However, if you set auto_assign_date to true, assignments of that type are automatically assigned one class day before they’re due unless otherwise specified:

reading:
  name: "Reading"
  name_plural: "Readings"
  dir_name: "readings"
  auto_assign_date: true

With that configuration above, given this timeline:

- day:
    - topic: All about doodads
- day:
    - topic: All about widgets
    - due:
        reading: widgets

…Coursage will automatically insert the assigned date as if the timeline had specified it like this:


- day:
    - topic: All about doodads
    - assigned:
        reading: widgets
- day:
    - topic: All about widgets
    - due:
        reading: widgets

Sometimes, instead of using Coursage’s enhaced Markdown document system, you just want to host a file on your course site, such as a PDF. If you place files in src/data/resources/ that do not have any special processing rules (that is, not .md, not .yaml, etc.), Coursage will be copied those files through to the course web site unmodified. For example:

src/data/resources/
  syllabus.pdf
  listening-assignment.m4a
  course-tools.zip

You can still specify options for these files by creating an accompanying .yaml or .json file. For example, with the following file structure:

src/data/resources/
  secret-doc.pdf
  secret-doc.yaml

…if secret-doc.yaml contains the following:

locked: true

…then the PDF will not be copied to the course site, and references to it will be plain text instead of links.

In addition to the general configuration for an assignment type, there are options you can set for each individual assignment and resource. See the document options section of this guide for more information.