Coursedog

Submit a Ticket My Tickets
Welcome
Login  Sign up

Understanding & Creating Requirements

Table of Contents
Overview
The Requirements Card
Simple Requirements
Advanced Requirements
Freeform Requirements
Related Articles

Overview

  • Curriculum Management’s Course and Program templates include a Requirement (or “requisites”) card or builder functionality, which has three options for users to define or build out the associated requirements/requisites for a Course or Program (all displayed in the present tense).

  • This article provides a walkthrough of the functionality, details the differences and use cases between each of the three builder types (Simple, Advanced, and Free Form), and provides example data structures for users of the Advanced Requirements builder/option.

The Requirements Card

Overview | Types of Requirements Cards | Requirements Card Settings

Overview

The requirements card is available in the course and program template by default. As a result, it is also available on all course and program forms in the curriculum.

Types of Requirements Cards

Simple | Advanced | Free Form

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


Simple

Most common. The simple requirement builder is used to build requirements in a structured format. Using simple requirements will automatically create dependency cards for course pages and program pages throughout the Curriculum and Catalog products. 


Advanced

This was built for customers who also utilize Degree Works. This builder should only be used by technical end users/roles within a school that is familiar with Degree Works who are looking to build requirements that will ultimately be exported back into Degree Works (either manually or via API), as its purpose is to allow scribe import/export. 


Free Form

  • A basic WYSIWYG (What You See Is What You Get) editor that allows for free-form input. 

  • Most user-friendly and flexible of the three options. 

  • 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 a few abilities that are available in the Simple and Advanced Requirement builders:

    • Free Form means you cannot enforce a consistent structure.

    • Inconsistency may allow for unintentional confusion in requirement 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. The Dependency Card is shown on course pages, program pages, and proposal pages, and it highlights where the specific Course or Program is a requirement, helping to ensure the impact of course changes/cancellations 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.

Requirements Card Settings

Overview | How to Modify Settings | Requirement Levels

Overview

All three requirements cards offer the following settings within the course and program templates as well as the form builder: display label, editable, and visible. 


Display Label

Whatever you type in here will be the name of the tab on your forms.


Editable

  • This determines which roles are allowed to edit the card. 

  • If the box is unchecked, that means no roles can edit it. 

  • If the box is checked and no roles are selected, that means all roles can edit it.

  • If the box is checked and roles are listed, only those listed roles will be able to edit the card (shown below). 


Visible

  • This determines which roles are allowed to view the tab.

  • The visibility of the card can be toggled on/off for all roles, or you can select specific user roles for whom it should be editable.

  • If the box is unchecked, that means no roles can see it. 

  • If the box is checked and no roles are selected, that means it is visible to all roles.

  • If the box is checked and roles are listed, only those listed roles will be able to see the tab (shown below). 

  • Coursedog recommends hiding the Advanced Requirement builder or making it editable and visible to technical roles within Degree Works schools only.


How to Modify Settings

Step 1: Navigate to the course or program template (Curriculum > Settings > Course Template/Program Template) or the form builder (Curriculum > Forms).


Step 2: Click the gear wheel to open “Advanced Settings”. 


Step 3:

Toggle between all three card types to adjust the display label, editability, and visibility for each.



Requirement Levels

Overview

  • For Simple Requirements within program and course templates, you also have the option to create, edit, and delete requirement levels.

  • Requirement levels give users the ability to define requirements at the program or sub-plan level.

  • You can add multiple levels and can configure the editability and visibility for each.

  • Check the “WYSIWYG description editor” box for each level if you’d like to display a WYSIWYG field directly beneath the requirement level label (this allows users to provide additional context).

  • If you add a requirement/subplan level within each requirement group – and subplans are defined in the specializations card – you can select a subplan code to link that subplan to.


How to Do It

  1. Click “Add New Level”.

  2. Type in the name of the level. Common groups used for requirement levels will be things such as “university requirements”, “major requirements”, “minor requirements”, etc.

  3. Press “Enter” to save the level name and return to the main “Requirements Settings” screen.

  4. Click “Add new level” again if you wish to add multiple levels. 

  5. To edit a level’s name, visibility and/or editability, select it from the dropdown menu. 


Simple Requirements

Key Use Case | Requirement Functionality | Adding Requirements/Requisites (High-Level Overview)
Creating a Requirement Rule | 
Dependencies

Key Use Case

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

  • The simple requirement builder does not support export to Scribe blocks, nor is there a guarantee that such requirements can be formatted into a Degree Works supported data structure (use the Advanced Requirements builder for this use case).


Requirement Functionality

The simple requirement builder supports multiple requirement “blocks”, as seen here:

Requirement Block Inputs/Buttons

Each “requirement block” is contained within an accordion, which can be opened and closed by the user.

Within each block, there are six inputs:

  • Requirement Level – Use this to group courses together under a program. This helps current and prospective students better understand which courses they need to take for different requirements.

  • Type – A dropdown with the following options: Prerequisite, Corequisites, Antirequisite, and Completion Requirement.

  • Visibility – Used to determine if this requirement block will be displayed in the public catalog.

  • Name – Used to set the name of the requirement block.

  • Add Requirement Rule –  

    • Each requirement block can have a list of rules.

    • These rules define the requirements for the block.

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

  • Additional Comments – Used to add a block of free-form text to the requirement, which will be displayed in the public catalog as well. While items selected within the Requirement 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.

Adding Requirements/Requisites (High-Level Overview)

  • The below steps walk you through how to add or edit requirements for an established course.

  • The same steps apply for adding requirements to a program.


Step 1: Navigate to Curriculum > Courses > (Click Course)


Step 2: Select “Edit Course”.


Step 3: Scroll down to “Requirements”.


Step 4: Click “+ Add Requirement” and then click into the new requirement you just created.


Step 5:

  • Select the requirement level from the dropdown, if applicable.

  • Once you select “requirement level”, the requirement will be automatically sorted under the appropriate level and given the name “untitled requirement”. Click into “untitled requirement” to finish editing.

  • Requirements assigned to levels will be automatically grouped in that level.



Step 6: Select the “type” from the dropdown. 


Step 7:

  • Toggle “Visibility” to the right (“on”) if you wish for this requirement to display in the catalog.

  • If not, keep it toggled to the left (“off”). 


Step 8: Input a name for this requirement.


Step 9:

  • Click “Add Requirement Rule” to define the contents of this requirement (details below).

  • Rule conditions can center around courses, programs, and course sets. You can learn more about Course Sets here.


Step 10:

  • Click “Stop Editing” after you are done adding/editing each rule.

  • You can add multiple rules, if needed. 


Step 11: Input any additional comments.


Step 12: When you are done adding requirements, click “Save changes” on the Actions/Activity panel (right side of the screen). 

Sample Blocks

Requirement Block with a Very Simple Rule


Requirement Block with Two Rules


Requirement Builder with all Rules in Read-Only Mode


Creating a Requirement Rule

Adding a Single Course | Adding Two Courses in an OR Block
Rules Conditions | 
Rule Notes

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

  • When adding courses into rules within the simple requirement 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 (e.g. 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:

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.

Rules Conditions

Complete All Of | Complete At Least X Of | Complete Any Of | Enroll In
Minimum Credits | Minimum Grade | Average Grade | Freeform Text
Fulfilled ANY of the Following Requirements | Fulfilled ALL of the Following Requirements
 | Number Of

You can select from several different rule conditions (most detailed below).

Complete 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

Complete 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 (e.g. Students must take at least two courses from the list of four courses).

  • When using Course Sets with this condition, the condition is interpreted as “Complete at least two courses in the selected Course Set”.


EXAMPLE 1

EXAMPLE 2

Complete Any Of

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


EXAMPLE 1

EXAMPLE 2

Enroll In

The Enroll 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

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

Minimum Grade

  • The Minimum Grade condition is used to specify a numeric value that represents the minimum grade a 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.

  • 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.


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

Freeform Text

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


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 requirement you are building requires two separate rules where a student must complete either one rule or the other, use this condition. 

  • This condition 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, “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


Number Of

The “Number Of” rule condition allows users to input sub-rules, as well as specify the number of sub-rules students must complete.


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

Dependencies

  • Dependencies are used to show relationships between courses/programs and their requirement. Each course and each program has an autogenerated “dependencies” card that displays both the course and program dependencies.

  • The simple requirement builder supports dependencies, and all courses & programs referenced in simple requirements 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).

  • The dependencies card does not show in proposals, only in courses and programs. 

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 Requirements

Key Use Case | Advanced Requirement Functionality | Advanced Requirement Rules
Advanced Requirement Course Select | Import Functionality
 | Dependencies

Key Use Case

The advanced requirement builder is used to build Degree Works-supported requirements. 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 requirements that will ultimately be exported back into Degree Works (either manually or via API).


Advanced Requirement Functionality

The advanced requirement builder (similar to the simple requirement builder) allows users to build multiple requirement blocks. Each requirement block contains meta information along with a list of rules. When there are no requirements defined, users will see this view:


Clicking “+ Add Requirement” will create the first requirement block:


Requirement Block Inputs/Buttons

The “Show In Catalog”, “Name”, and “Additional Comments” fields work the exact same way as they do in the simple requirement builder. The “Add Rule” button creates the first advanced requirement rule. Multiple rules can be added to a single requirement block.


Advanced Requirement Rules

Each rule is comprised of both 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 Requirement 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.


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 the importing of scribe blocks that are in a .txt or .scribe format. 


Dependencies

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

  • Requirement rules that utilize the wildcard and range functionality will not result in courses being displayed in the dependencies card. 


Example

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


Requirement

Dependencies

Freeform Requirements

Key Use Case | Functionality | Dependencies

Key Use Case

The free form requirement builder allows users to build a requirement with a WYSIWYG editor. The user can create their own tables, an 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 and programs that are in the curriculum inventory.


Functionality

Paragraphs with Headers and Dividers | Dynamic Links for Courses & Programs | Custom Tables

Paragraphs with Headers and Dividers

 

Custom Tables

Dependencies

The freeform requirement builder currently does not support dependencies.

Related Articles



Did you find it helpful? Yes No

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