Curriculum Management’s Course and Program templates allow you to add requirements (also known as “requisites” at some institutions).
There are 2-3 different ways you can 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, 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
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
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:
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.
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.
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
All three requirements cards offer the following settings within the course and program templates as well as the form builder: display label, editable, visible, and “show in catalog”.
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).
Coursedog recommends hiding the Advanced Requirement builder or making it editable and visible to technical roles within Degree Works schools only.
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.
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”.
Toggle between all three card types to adjust the display label, editability, and visibility for each.
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
Click “Add New Level”.
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.
Press “Enter” to save the level name and return to the main “Requirements Settings” screen.
Click “Add new level” again if you wish to add multiple levels.
To edit a level’s name, visibility and/or editability, select it from the dropdown menu.
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.
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.
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.
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”.
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”.
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.
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.
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.
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.
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.
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
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
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.
Click the “Data Type” dropdown to determine if your rule will involve courses, programs, or course sets.
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.
Step 3 (Optional): If you selected “Courses” for your data type, you will have the option to filter by subject code here.
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.
USING THE “OR” OPTION
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:
Input a name for your rule under “Rule Name”.
The name field will appear above the notes field.
Step 6: And any notes regarding this rule here.
Step 7: Once you are done building your rule, click “Stop Editing”.
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 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:
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.
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:
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.
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.
The Average Grade condition is very similar to the minimum grade condition, except that it signifies the average grade a student must receive.
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.
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.
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.
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:
Click “Add +”.
Select “Narrative Text”.
Open the “Narrative Text” to access its options.
Select the requirement level. This will cause the narrative text to be automatically sorted to that group.
Find the Narrative Text under the appropriate group and open it again.
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.
Input additional comments.
As with Requirements, you can drag and drop the narrative text to appear in the desired order.
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).
The dependencies card does not show in proposals, only in courses and programs.
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.
If MATH102 is a prerequisite for BIO152, then BIO1525 is a dependency for MATH102.
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).
The “Advanced Requirements” feature has been hidden by default. If you wish to enable it, please talk to your Customer Success representative.
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:
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:
The Advanced Scribe Parser can also support the importing of scribe blocks that are in a .txt or .scribe format.
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.
If MATH102 is a prerequisite for BIO152, then BIO1525 is a dependency for MATH102.
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
The freeform requirement builder currently does not support dependencies.