Coursedog

Submit a ticket My Tickets
Welcome
Login  Sign up

Curriculum Requisites Overview

TABLE OF CONTENTS


The Coursedog Curriculum Course and Program templates include a Requisite card or builder functionality, which has 3 options for users to define or build out the associated requisites for a Course or Program. This document will provide a walkthrough of the functionality, detail the differences and use cases between each of the three builder types (Simple, Advanced, and Free Form), and provide example data structures for users of the Advance Requisites builder/option. 


Note that the requisites display in present tense (Complete, Fulfill). 


The Requisite Card

The requisite card is available in the course & program template by default, and as a result, is also available on all course & program forms in the curriculum.

There are 3 types (or options) for requisite definition or building within the card. This article dives into more detail and a walkthrough below on each of the 3 types of requisite builders, but generally speaking when determining which builder to utilize follow the below guidelines:

  1. Simple

    • Most common. The simple requisite builder is used to build requisites in a structured format. Using simple requisites will automatically create Dependency Cards for Course pages and Program pages throughout the Curriculum and Catalog products. 

  2. Advance

    • Built for customers who also utilize DegreeWorks. This builder should be used by technical end users only within a school that is familiar with Degree Works and is looking to build requisites that will ultimately be exported back into Degree Works (either manually or via API).

  3. Free Form

    • A basic WYSIWYG (What You See Is What You Get) editor allowing for free form input. Most user-friendly and flexible. The easiest and fastest option for a copy and paste transfer from older content/tool into the platform.

    • Keep in mind that the Free Form builder lacks the below abilities that are available when the Simple or Advance Requisite builders are used:

      • Free Form means you cannot enforce a consistent structure

        • Inconsistency may allow for unintentional confusion in requisite understanding (when created in free format by multiple users/faculty); The simple builder enforces structure and thus eliminates ambiguity. 

      • Free Form does not allow institutions to take advantage of Dependencies

        • Dependencies (Card shown on course pages, program pages, and proposal pages) highlight where the specific Course or Program is a requirement helping to ensure course changes/cancellations impact is fully understood.

      • Free Form does not allow institutions to take advantage of Course Sets

        • Course Sets allow you to group and define sets of Courses that share a relationship and have the ability to reference the set elsewhere in the platform (typically in Programs). If you make a change to a course set in one place it will update everywhere the course set is referenced saving manual duplicate entry.

      • The Coursedog Product team is investigating notifications within the platform around changes/deletions to courses and programs. Free Form would not be able to take advantage of this functionality. 

The requisite card has the following settings, which can be edited in the course or program template builder, or the form builder:


Card Visibility

The visibility of the card can be toggled on/off for all roles, or for specific user roles.


Example of settings where the card is visible for all roles:

 

Example of settings where the card is visible for a subset of roles:

Tab Settings

Each tab also has the following settings

  1. Display label - what is the label of the tab

  2. Editable roles - which roles are allowed to edit

  3. Visible roles - which roles are allowed to view the tab


Example of Simple Requisite tab with default settings:

 

Example of Advanced Requisite tab with adjusted settings:

Note: Typically the Advance Requisites builder will only be used by schools that also utilize DegreeWorks and only by technical users/roles as its purpose is to allow scribe import/export. For this reason, Coursedog recommends hiding the Advance Requisite builder or making it editable and visible to technical roles. 


Simple Requisites

Key Use Case

The simple requisite builder is used to build requisites in a structured format.  The simple requisite builder will be more accommodating for lay users than the advanced requisite builder. The requisites can be a single rule, or more complicated, nested rules.

The simple requisite builder, however, does not support export to Scribe blocks, nor is there a guarantee that such requisites can be formatted into a Degree Works supported data structure (use the Advance Requisites builder for this use case).

Requisite Functionality

The simple requisite builder supports multiple requisite "blocks", as seen here:

Each "requisite block" is contained within an accordion, which can be opened and closed by the user.

Within each block, there are 5 inputs/buttons:

  1. Show In Catalog

  2. Name

  3. Type

  4. Add Requisite Rule

  5. Additional Comments

The "Show In Catalog" button is used to determine if this requisite block will be displayed in the public catalog.

The "Name" input is used to set the name of the requisite block

The "Type" input is a dropdown with the following options

  • Prerequisite

  • Corequisite

  • Antirequisite

  • Completion Requirement

The "Add Requisite Rule" button is used to start building the rules associated with the requisite.

The "Additional Comments" WYSIWG editor is used to add a block of free form text to the requisite, which will be displayed on the public catalog as well. Note that while items selected within the Requisite Rule will automatically have a downstream functional impact on Dependencies, "Additional Comments" will not. For example, if a user includes course links within the Additional Comments field, these courses will not be taken into account for Dependencies. For more information on Dependencies functionality, refer to the Dependencies section in this article.


Requisite Rules

Each requisite block can have a list of rules. These rules define the requirements for the requisite.


Here is an example of a requisite block with a very simple rule:

Here is an example of a requisite block with two rules:

When you edit the requisite rules, you can select which rules are in edit mode, versus which rules remain in read-only mode.


Example of requisite builder with all rules in read-only mode:

Example of requisite builder with the second rule in edit mode:

Creating a New Rule

When you create a new requisite rule, you must specify a condition that defines the context of the rule. The default condition is Completed All Of, which is often used with indicating requirements for courses or course sets that a student must take.

When adding courses into rules within the simple requisite builder, users can add a course individually, or create a nested "AND/OR" block containing that course:

(adding a single course)

(adding two courses in an OR block)

This can be used to specify a list of course requirements where some of the courses in the list might need to be represented as a choice between another course (i.e. select Course A, Course B, and Course C or D).

When courses are added, they appear as draggable blocks, where each "AND/OR" grouping is its own block:

In the read-only view, this requirement appears as:

In the public catalog, this requirement appears as:

Note: AND/OR blocks can also be used with course sets.


Each rule has a name field that can be used to provide a name/label to the rule. The name field will appear above the notes field. 

In read-only mode, it appears as follows:

The following conditions are available to be selected:


Completed All Of

The Completed All Of condition can be used to indicate a student must complete all items in a specific list.  The list of options can be pulled from:

  1. Courses

  2. Course Sets

  3. Programs

Example 1:

Completed Any Of

The Completed Any Of condition is used to specify a student must complete at least one item in a specific list.


Example 1:

Example 2:

Completed At Least X Of

The Completed At Least X Of condition is used to specify that a student must complete a variable number of items in a list. The X variable is specified by the user (i.e. student must take at least 2 courses from the list of 4 courses).


Example 1:

Example 2:

Note: when using Course Sets with this condition, the condition is interpreted as "Completed at least 2 courses in the selected Course Set"


Read-only view of Example 2:

Enrolled In

The Enrolled In condition is used to define a list of items that a student must be enrolled in. The list of items could be one of the following data types:

  1. Courses

  2. Course Sets

  3. Programs


Example 1:

Read-only view of Example 1:

Minimum Credits

The Minimum Credits condition is used to specify a numeric value that represents the minimum number of credits a student must take. Further details can be added to specify the minimum number of credits a student must take from a specific list of items, such as a specific list of courses.


Example 1:

Read-only view of Example 1:

Minimum Grade

The Minimum Grade condition is used to specify a numeric value that represents the minimum grade student must receive. Further details can be added to specify the minimum grade a student must receive from a specific list of items, such as a specific list of courses.


Example 1:

Note: there is a grade type input that can be used to specify the type of grade (i.e. 0 -4.0 GPA scale, 0-100 number scale, etc...). This input can also be left blank if such detail is not required.


Read-only view of Example 1:

Average Grade

The Average Grade condition is very similar to the minimum grade condition, except that it signifies the average grade a student must receive.


Example 1:

Read-only view of Example 1:

Freeform Text

The Freeform Text condition can be used to write a free form text requirement with a text area input.


Example 1:

Read-only view of Example 1:


Fulfilled ANY of the following requirements

This condition is used to create a group of child rules, with OR logic separating each child rule. If the requisite you are building requires two separate rules where a student must complete either one rule or the other, use this condition, which allows you to create "sub-rules", which is the same as a child rule.

The "Add Sub Rule" button will show up in the bottom right of the card:


There is no limit to the number of sub-rules that can be added.


Example 1:

In this example, the fulfilled ANY of the following requirements has two sub-rules with "OR" logic separating the two rules.


Fulfilled ALL of the following requirements

This condition is very similar to the Fulfilled ANY of the following requirements, except that all sub rules are separated with AND logic, instead of OR logic.


Example 1:


Rule Notes

Each rule has a WYSIWYG input called "Notes" which can be used to add notes or additional context to each rule. These notes will show up in the public catalog. 


Example 1: 


Read-only view of Example 1:


Dependencies

Dependencies are used to show relationships between courses/programs and their requisite. Each course and each program has an autogenerated "dependencies" card that displays both the course & program dependencies.

The simple requisite builder supports dependencies, and all courses & programs referenced in simple requisites will have their dependencies auto-update on every course or program change.

Course sets will also be referenced in dependencies (more details on course sets below).


Example 1:

If the BA in MATH program has a completion requirement of MATH 101, then MATH 101 is a dependency of the BA in MATH program.


Requirement:


Dependencies:


Example 2:

If MATH102 is a prerequisite for BIO152, then BIO1525 is a dependency for MATH102.


Requirement:


Dependencies:


Advanced Requisites

Key Use Case

The advanced requisite builder is used to build Degree Works supported requisites. This builder provides all relevant Degree Works fields, and is contained in a data structure that supports conversion to scribe blocks. This builder should be used by technical end users within a school that are familiar with degree works and are looking to build requisites that will ultimately be exported back into Degree Works (either manually or via API).


Requisite Functionality

The advanced requisite builder (similar to the simple requisite builder) allows users to build multiple requisite blocks. Each requisite block contains meta information along with a list of rules.

When there are no requisites defined, users will see this view:


Clicking "Add Requisite" will create the first requisite block:


Within each block, there are 5 inputs/buttons:

  1. Show In Catalog

  2. Name

  3. Add Rule

  4. Additional Comments

The "Show In Catalog", "Name", and "Additional Comments" fields work the exact same way as they do in the simple requisite builder.

The "Add Rule" button creates the first advanced requisite rule. Multiple rules can be added to a single requisite block.


Advanced Requisite Rules

Each rule is comprised of a condition field, and a notes field:


The following conditions can be selected:

  • Complete

  • Course

  • Credential

  • Else

  • Else If

  • Freeform Text

  • GPA

  • Grade

  • If

  • Incomplete

  • Last Residential

  • Non-Course

  • Pass Fail

  • Per Discipline

  • Per Term

  • Residential

  • Scribe

  • Share

  • Spread

  • Sub Rules

  • Transfer

Selecting a condition will unlock more input fields specific to the condition.

A list of all possible inputs a user may see is defined in the "Learn More" modal, shown here:


Advanced Requisite Course Select

Many of the conditions allow users to create a rule that incorporates a  list of courses from the course inventory, the most common of which is the Course condition. This condition allows users to define either a min/max number of courses students must take, or a min/max credit range a student must receive to satisfy the rule:


Example of Course Select Input within Course Condition:


In selecting courses, users can either select a specific course, or define a dynamic course  criteria:


If the user has selected specific courses from the inventory, they will show up as follows.


The user can also select a dynamic range of courses, based on a subject code and a min/max course number, shown here:


A wildcard number (utilizing the @ character) can also be set to define a range of courses.


Example of wildcard range that selects all BIO courses with a course number that begins with 1:


Once selected, these criteria will appear in the rule as follows:


Import Functionality

The Advanced Scribe Parser can also support importing of scribe blocks that are in a .txt or .scribe format. 


Dependencies

The advanced requisite builder supports dependencies for any courses that are explicitly referenced in the requisite.

Note: Requisite rules that utilize the wildcard and range functionality will not result in courses being displayed in the dependencies card. 


Example 1:

If MATH102 is a prerequisite for BIO152, then BIO1525 is a dependency for MATH102.


Requirement:


Dependencies:


Freeform Requisites

Key Use Case

The free form requisite builder allows users to completely use a WYSIWYG editor to build a requirement. The user can create their own tables, and ordered and unordered list, and have multiple paragraphs. The user has complete control over all the content and the structure of said content. The user can also dynamically inject links to courses & programs that are in the curriculum inventory.


Functionality

Paragraphs with headers and dividers:

Dynamic Links for Courses & Programs:

Custom Tables:

Dependencies

The freeform requisite builder currently does not support dependencies. This feature will likely be added in the future.


Course Sets

Key Use Case

Course sets are used to create a collection of courses that can be referenced in the Simple Requisite Builder. These course sets can be referenced in multiple requirements, and therefore make the requirements more maintainable by having a single source of truth for groupings of multiple courses.


Functionality

There is a Course Sets tab in the Curriculum Dashboard, which lists all course sets in the system.

Access to this view and edit access is granted via RBAC

By clicking into a Course Set, users can see all the details of the course set. Each course set has 4 different fields:

  1. Name

  2. Description

  3. Type (either static or dynamic)

  4. Filters - used to define dynamic course sets

Below these four inputs will be a table that identifies every course captured by the dynamic filter. This list will be updated on every save of the course set.

Please note that this list is also refreshed every night, so if a course updates during the day, the Course Set will be updated the next day at the latest.


Example of the Course Set edit view:

Course sets can and should be referenced in requisites. When a course set is referenced in requisites, it shows up as follows:


Requisites can be used to indicate a user must complete multiple course sets, or that a user must complete a specific number of courses within a course set.


Dependencies

The courses contained within a course set will also be included in dependencies.


Example 1:

The Math Courses course set contains all math courses, including MATH101 and MATH102.

If the Math Courses course set is a requirement for the BA MATH program, then BA MATH will be a dependency for MATH102.


Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.