Submit a Ticket My Tickets
Login  Sign up

REQUIREMENTS: Understanding & Creating Requirements

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


  • Curriculum Management’s Course and Program templates allow you to add requirements (also known as “requisites” at some institutions).

  • There are two different ways to build requirements. The options that appear in your UI – including builder options and listed requirement levels – vary from institution to institution and can be configured on the Requirements Card by an admin. 

  • All requirements will be displayed in the present tense.

  • This article provides a walkthrough of the functionality and details the differences and use cases between each of the two builder types (Simple and Free Form).

  • You can also create sets of requirements that are shared across programs. The process for creating Requirement Sets is very similar to what’s outlined below under “Simple Requirements”, though the first couple steps are a bit different. You can learn more about Requirement Sets here.

The Requirements Card

Overview | Types of Requirements Cards | Requirements Card Advanced Settings


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 | Free Form

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


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. 

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 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 Requirement builder:

    • 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 Advanced Settings

Overview | How to Modify Settings | Display Label | Editable | Visible
Available Levels of Requirements | Changing Visibility & Editability for Individual Fields
Requirement Title Customization 


  • Both requirements builders offer the following settings within the course and program templates as well as the form builder: display label, editable, visible, and “show in catalog”.

  • Note that you might also see an option for “Advance(d) Requirements” when viewing Advanced Settings for Requirements; this option is being deprecated and should be set to “not visible” to prevent it from appearing to end users. 

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) and locate the “Requirements” card.

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

Step 3:

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

Display Label

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


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


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

  • The “visible” box for Requirement Type allows you to set the visibility/availability for each requirement type in the dropdown. In other words: You can check or uncheck the visibility box for each option to determine which Requirement Types display as options when building requirements. 

Available Levels of Requirements

Overview | How to Do It | Example | Merges


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


The below screenshots capture what Requirement Levels look like in advanced settings once they’ve been built out; how those same levels appear in the UI to end users after levels have been added to requirements; and then how they appear in the public-facing Catalog. 





  • If you are utilizing Requirement Levels, ensure you have requirementLevels added to the field exceptions in merge settings. 

  • To do that, an admin should:
        1. Navigate to Admin > Merge Settings > Type-Specific Settings.

    2. Click “Curriculum (Programs).

    3. Under “Field-specific exceptions”, add “Requirement Levels”.

    4. Ensure the Source of Truth for this field-specific exception is set to “Always Coursedog.”

  • If an exception doesn't exist – and your default source of truth isn’t set to “Always Coursedog” – the requirementLevels data could be lost during a merge.

Changing Visibility & Editability for Individual Fields

Requirements Cards Settings for Simple Requirements also gives you the option to configure visibility and editability for individual requirements-related fields.

Show in Catalog

  • Toggle this to the right if you have Coursedog’s Catalog product and would like for the “Show in Catalog” option to always default to On/True for requirements.

  • Toggle this to the left for the “Show in Catalog” option to always default to Off/False for requirements. 

  • The “visible” and “editable” options here work in a similar way to what was outlined above, but note that the “Show in Catalog” toggle, when visible, can be toggled on or off for individual requirements.

  • If you wish to display requirements in your catalog, ensure that “Show in Catalog” is toggled on for either free form requirements or simple requirements – not both. Selecting both for a single program will result in neither displaying.

Requirement Title Customization 

  • This field allows for a custom display naming convention for program requirements. 

  • By default, program requirements display with CODE - NAME. However, some institutions may want to include other data, such as credits or attributes. 

  • Use the plus icon to add fields to the customization. Customizations may include alphanumeric plain text and special characters, including spaces. 

Simple Requirements

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

Key Use Case

  • The simple requirement builder is used to build requirements in a structured format. The requirements can be a single rule or more complicated, nested rules.

  • A Scribe Generator is available for Degree Works schools; it appears as a “Convert to Scribe” button in the Simple Requirements view. The Scribe Generator converts existing requisites and their rules into a scribe block, which is stored in the Simple Requisites data structure for programmatic (API) access. Learn more here.

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” and then select “Requirement”.

Step 5: 

  • Click into the new requirement you just created.

  • Since it hasn’t been set up yet, it will default to the “No requirement level” section and will be named “Untitled Requirement”.

Step 6:

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

  • Once you select “requirement level”, the requirement will be automatically sorted under the appropriate level but will still be named “untitled requirement”. Click into “untitled requirement” to finish editing.

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

Step 8:

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

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

Step 9: Input a name for this requirement.

Step 10:

  • 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 11:

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

  • You can add multiple rules, if needed. 

Step 12: Input any additional comments.

Step 13: If you wish to change the order of the requirements, you can drag and drop them to reflect your preferred order. 

Step 14: 

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

  • Note that changes made to requirements won’t appear on the Activity tab.

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

Overview | How to Do It | Rule 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.

How to Do It

Step 1

  • Click into the “Rule Condition” dropdown and select the option that best fits your needs.

  • See “Rule Condition” section below for a breakdown of what each means. 

Step 2: 

  • Click the “Data Type” dropdown to determine if your rule will involve courses, programs, or course sets. If you’re building requirements for a program, you’ll also see “Requirement Sets” listed.  

  • In order to use the course sets option, you need to have those all set up before you can assign them as a requirement. Learn more about Course Sets here.

  • In order to use the requirements sets option, you will need to have those set up before you can assign them as a program requirement. Learn more about Requirement Sets here

Step 3 (Optional): If you selected “Courses” for your data type, you will have the option to filter by subject code here. 

Step 4

  • Select the courses, programs, or course sets that are part of this requirement. 

  • You can add multiple courses to a single block by selecting the “plus” sign. And then use the “And/or” option to determine if BOTH courses should be completed OR just one of them.

  • You can add multiple course blocks by searching for more courses via the “Select Course” dropdown.

  • When multiple course blocks are added, they appear as draggable blocks, where each “AND/OR” grouping is its own block. 


  • The “or” option 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).

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

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

Step 5: 

  • Input a name for your rule under “Rule Name”.

  • The name field will appear above the notes field.

Step 6

  • Input a description for this rule. 

  • The description will appear underneath the rule name but before the actual course lists and requirements. 

  • Use this text to better clarify the exceptions to the list of rules/courses that follow.

Step 7

  • Add any notes regarding this rule here under “Rule Notes”.

  • “Rule Notes” will appear under the list of courses. 

Step 8: Once you are done building your rule, click “Stop Editing”.

Rule 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
Variable Credits and Courses

You can select from several different rule condition types (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”.



Complete Any Of

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



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


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.


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.


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.


Freeform Text

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


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.

  • Requirement Sets cannot be added as a data type in sub-rules.


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.


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.

Variable Credits and Courses

The variable rule condition allows users to combine courses and credits in the same requirement rule. While editing requirements and selecting Rule Condition = Complete Variable Courses and Variable Credits, the user will see four inputs:

  • Number of Course(s) Min

  • Number of Course(s) Max

  • Number of Credit(s) Min

  • Number of Credit(s) Max


This creates “joint” credits/course rules, such as any combination of courses and/or credits in the same rule. For example, at least two courses totaling six or more credits across the following three courses.

Rule Notes

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



Adding Narrative Text


You can use narrative text to appear between requirements without any need to open the requirement itself.

How to Do It

If you wish to add narrative text, note that the process for this is the same as adding a requirement, with the exception of not needing to add a rule condition. But in short: 

  1. Click “Add +”. 

  2. Select “Narrative Text”.

  3. Open the “Narrative Text” to access its options.

  4. Select the requirement level. This will cause the narrative text to be automatically sorted to that group. 

  5. Find the Narrative Text under the appropriate group and open it again. 

  6. Keep the “Visibility” toggle on the right to show this narrative text in your Catalog; toggle it to the left to keep it out of the public catalog.

  7. Input additional comments. 

  8. As with Requirements, you can drag and drop the narrative text to appear in the desired order. 

  9. Click “Save Changes” (right-hand side of the screen) when you’re done. 


  • Dependencies are used to show relationships between courses/programs and their requirements.

  • Each course and each program has an autogenerated “dependencies” card that indicates if they are a requirement for any course or program.

  • The simple requirement builder supports dependencies, and all courses & programs referenced in simple requirements will have their dependencies card auto-updated based.

  • This helps ensure the impact of course changes or cancellations is fully understood.

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

  • Course sets will also be referenced in dependencies.

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



Example 2

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



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.


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

Paragraphs with Headers and Dividers


Custom Tables


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.