Cross-Linking Courses Discussion - 2019 Subgroup

This page is intended to  help out scope out and improve / clarify understanding of implementing cross-linking of courses in the Reserves App.

Key definitions (cribbed from https://registrar.rice.edu/facstaff/cross_list_courses)

  • Cross-Listed: A course is cross-listed if it is offered under more than one course listing.
    • Generally the course has the same location, meeting pattern, content, and instructor.
    • The different headings may have different numbers of seats; different restrictions on enrollment (e.g., no first-years, or majors only).
    • Students who enroll will enroll under a specific course listing and generally identify the course by how they are enrolled. 
  • Equivalent Courses: Two courses are equivalent if they are in the same department but have different course numbering.
    • May be historical artifacts if a university has changed or is in the process of changing a course numbering system
    • (Not sure if any of our schools use this.)
  • Graduate/Undergraduate Equivalent: Usually in same department but with different course numbering, with one course being at a grad level (e.g., Math 299 / Math 599)
    • Shared meeting times, instructor.
    • Generally different curricular requirements for different levels - grads may have to write longer, more in-depth assignments, for example.
    • Duke definitely does this.

From the LTI core spec: "Context. LTI uses the term context where you might expect to see the word "course". A context is roughly equivalent to a course, project, or other collection of resources with a common set of users and roles. LTI uses the word "context" instead of "course" because a course is only one kind of context (another type could be "group" or "section")."

LTI describes a Context ID: "id (REQUIRED). Stable identifier that uniquely identifies the context from which the LTI message initiates. The context id MUST be locally unique to the deployement_id. It is recommended to also be locally unique to iss(Issuer). The value of id MUST NOT exceed 255 ASCII characters in length and is case-sensitive."

LTI describes a Context ID History variable: "Context.ID.History. A comma-separated list of URL-encoded context ID values representing previous copies of the context; the ID of most recent copy should appear first in the list followed by any earlier IDs in reverse chronological order. If the context was created from scratch, not as a copy of an existing context, then this variable should have an empty value."

LTI describes a Sourced ID variable: "Context.sourcedId." Not sure what this is.

Cross-Linking Scenario 1: Hierarchical Course Relationships

One course is the "parent" course and the others are child courses. Information is brought in via the parent course and then propagated to child course listings.


Cross-Linking Scenario 2: Non-Hierarchical Course Relationships

No single course is the "parent" course. Information may be brought in from one course or more and then linked together.