> For the complete documentation index, see [llms.txt](https://docs.silverband.com.au/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.silverband.com.au/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/build-the-course-outline/step-3-add-the-constraints-between-units-to-follow-course-progression.md).

# Step 3 - Add the Constraints between Units to follow Course Progression

This page will provide the instructions on how you can add constraints on the Core and Elective Units in the Course Outline.

## Overview

After adding all the units and formatting the contents of your Course Outline, some units would require another unit for it to exist or become an allowable unit option for a student to enrol. Establishing the relationship between units can be done by adding constraints. This Knowledge Article will guide you on how to add a prerequisite, corequisite, disallowed, substitute, and required units to your course plan.

{% hint style="info" %}
**NOTE**:

It is highly recommended that you set up a list of Core and Elective Units before further defining their constraint relationships, *see* [Step 2 - ](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/build-the-course-outline/step-2-add-the-units-that-make-up-the-course-as-core-or-elective.md)[Add the Units that make up the Course as Core or Elective](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/build-the-course-outline/step-2-add-the-units-that-make-up-the-course-as-core-or-elective.md)
{% endhint %}

## Add a New Constraint Fields

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field Name</strong></td><td><strong>Brief Overview</strong></td></tr><tr><td>Program Constraints ID</td><td>Internal System ID given to the course rule. Each constraint will have its own unique code</td></tr><tr><td>Course ID</td><td>Course ID associated with the base course and student’s course enrolment</td></tr><tr><td>Unit ID</td><td>Internal System ID assigned to a unit code</td></tr><tr><td>Constraint Unit Id</td><td>An unit code that is associated with the constraint type</td></tr><tr><td>Unit Name</td><td>Mainly for readability so that the staff members can more easily identify the unit by its name</td></tr><tr><td>Constraint Types</td><td><p>Core Unit, Elective Unit, Prerequisite Unit, Study Area (Minor), Major, Minor, Study Specialisation (Major), Program Prerequisites, Unit program prerequisites, Program Unit Not required, Application Unit, Co-requisite Unit, Disallowed Unit, Substitute Unit, Allow multiple schedule Units, Component Program, Competency Unit, Required Unit Count , Transfer Program</p><p>*Please refer to the <a href="/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/introduction-to-course-outline/constraint-types.md#standard-constraint-types">Standard Constraint Types</a> page for more information</p></td></tr><tr><td>Display Code</td><td>Display code indicates where the unit will appear in the grid. The letters A-I (the first to ninth letters of the alphabet) are columns across the screen, whereas numbers 1-25 are the rows down the page. Combining the column and row identifiers then determines the exact grid position where the unit is displayed, such as cell A1, B2, C3</td></tr><tr><td>Description</td><td>Text that appears in the front of the row to describe this section of the grid, e.g. Core Unit, Electives</td></tr></tbody></table>

## Workflows

{% hint style="info" %}
**NOTE**:

If you are familiar with the [Import Wizard](/home/paradigm-knowledge-base/importing-data/workflows/import-wizard.md) menu, you can efficiently import your Course Outline Constraints in bulk. Find detailed guidance in the documentation provided [**here**](/home/paradigm-knowledge-base/importing-data/workflows/bulk-import-by-record-type/course-outline-unit-constraints.md).
{% endhint %}

The instructions below assume that all units or subjects that define a Course are already added to the system. If this is not the case, start by adding all the units first. You can refer to this page:  [Step 2 - ](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/build-the-course-outline/step-2-add-the-units-that-make-up-the-course-as-core-or-elective.md)[Add the Units that make up the Course as Core or Elective](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/build-the-course-outline/step-2-add-the-units-that-make-up-the-course-as-core-or-elective.md) for the instructions.

It might be useful to have a test student within the system who can be enrolled in the new course to visualise the course plan as it is built.

### (<mark style="color:green;">1</mark>) Adding Prerequisites, Corequisites, and Disallowed Unit

1. Load the Base Course Record, *see* [Search for a Base Course](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-base-courses/search-a-base-course-record.md)
2. With the Base Course record loaded in the system, choose **Courses** > **Outline** menus on the side.
3. On the Course Outline page, click the **ADD CONSTRAINT** button.

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FI6WKomazmQc8PayGFyer%2Fimage.png?alt=media\&token=3e19930a-2c5c-4ba0-bc4a-6b1416afe18b)

4. Locate the Unit that the constraint is tied to and click the **Add As Unit** icon on the right-hand side (*in the example screenshot below, unit BEM3002 is selected*).

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FeOpblmxeEMo5oV5RMVyU%2Fimage.png?alt=media\&token=24e9200c-5a64-4973-96c5-8ac6e8e36097)

5. Locate the constraining unit (Prerequisite, Corequisite, Disallowed, and Substitute) and click the **Add As Constraint** icon on the right-hand side (*in the example below, BEM1005 is selected since this will serve as a prerequisite unit to BEM3002*).

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FWpnnD1gCkIR5EKC9Jjji%2Fimage.png?alt=media\&token=969017d2-f094-4a95-bb7d-523a8adb19dd)

Refer to the following definition of all the possible constraints you can add.

| **Constraint Type** | **Brief Description**                                                                                                       |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **PREREQUISITES**   | Some units of study have a prerequisite. This is a requirement that must be completed before you are able to take the unit. |
| **COREQUISITES**    | Some units of study require you to undertake another specific unit of study at the same time.                               |
| **DISALLOWED**      | Your institution defines that if a student has already completed a unit, they will not be allowed to enrol into this unit   |

6. After selecting the unit and its constraining unit, go to the **EDIT COURSE OUTLINE DETAILS** Form section. Note the **Unit Id** and the **Constraint Unit Id** fields, both are pre-filled already based on the selections that you made (*from steps 4-5*). Select the **Constraint Type** (*Prerequisite Unit, Corequisite Unit, and Disallowed Unit*) as required.
7. Click the **SAVE OUTLINE CONSTRAINT** button.

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FncvRYuXSCDCNhtywUqyC%2Fimage.png?alt=media\&token=0319f379-af22-443c-b264-55c0d1aa8e18)

The newly added constraint will be shown in your **COURSE OUTLINE** table (*in the sample screenshot below, BEM3002 has now a Constraint Unit Id(Prerequisite) of BEM1005*.

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FR9cYPqsNY6k28ifhOTya%2Fimage.png?alt=media\&token=45bab9e6-9658-4fa5-930b-5e4796f5ccaf)

{% hint style="success" %}
**SUCCESS**:

After saving the newly added constraint, you can check the view in the Student Course Plan (**Student** > **Course Enrolment** > **Course Plan**) page if the addition was successful. *In the sample screenshot below, BEM3002 is now yellow-coded as disallowed by prerequisite.*
{% endhint %}

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FHG4ozM8v0TgrZmsEI5zI%2Fimage.png?alt=media\&token=ca9481d0-a29e-4601-a025-23f05559f962)

{% hint style="info" %}
**NOTE**:

To add more constraints, click the **ADD CONSTRAINT** button again to clear the details previously entered. Start from the Step 3 instruction above to add another constraint.
{% endhint %}

Alternatively, watch the demo clip below on how to add Pre-Requisite and Co-Requisite units.

{% file src="/files/9SucmFYCCa7VsgBT29vK" %}

### (<mark style="color:green;">2</mark>) Adding a Required Constraint Type

This is compulsory that the unit must be selected when enrolling via the course plan.

1. Follow the instructions from Steps 1 to 3 in the Workflow [above](#adding-prerequisites-corequisites-disallowed-and-substitute).
2. After clicking the **ADD CONSTRAINT** button, locate the Unit that you want to set as a required unit (*in the example screenshot below, unit BEM2005 is selected*), and select the **Edit Constraint** button on the right side of the selected unit.

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2Fh9HHZkMgeO5u8ur2MbiY%2Fimage.png?alt=media\&token=00335824-d749-494f-8eb7-747b009400f3)

3. Scroll down and go to the **EDIT COURSE OUTLINE DETAILS** Form section. Set the **Constraint Type** field as **Required Unit**.
4. Click the **SAVE OUTLINE CONSTRAINT** button.

![](https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FaozYYOxUzM027GC7knaX%2Fimage.png?alt=media\&token=1f05e469-886e-4008-af84-f1d39ffd5435)

### (<mark style="color:green;">3</mark>) Adding Major or Minor Constraint Type <a href="#adding-major-or-minor-constraint-type" id="adding-major-or-minor-constraint-type"></a>

{% hint style="info" %}
**NOTE**:

Refer to the [**Major and Minor Constraint Types**](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/advanced-course-outline/major-and-minor-constraint-types.md) page for the details on how you can implement the Major and Minor Constraint Type in your Course.
{% endhint %}

This will make the Unit only allowable to be enrolled in when the Student is enrolled on the specified Major or Minor pathway.

1. Follow the instructions from Steps 1 to 3 in the first Workflow [above](#adding-prerequisites-corequisites-disallowed-and-substitute).
2. After clicking the **ADD CONSTRAINT** button, locate the Unit that you want to set as a major or minor unit (*in the example screenshot below, unit BAComSci is selected*), and select the **Add as Unit** button on the right side of the selected unit.

<figure><img src="https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2F9rrtn1KyCWqvg6azeVcY%2Fimage.png?alt=media&amp;token=133261e3-40e3-4165-83ea-75f095eb6d46" alt=""><figcaption><p>selecting ComSci102 as a Unit with a Constraint</p></figcaption></figure>

3. Scroll down and go to the **EDIT COURSE OUTLINE DETAILS** section. Set the **Constraint Type** field as **Major** or **Minor**.
4. In the **Course Major Study** field, select the **Major** or **Minor Code Item** accordingly.
5. Click the **SAVE OUTLINE CONSTRAINT** button.

<figure><img src="https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2Flzwyl6vsfolUv6C6dQUC%2Fimage.png?alt=media&amp;token=60529618-de3f-4022-ba83-073038c8455e" alt=""><figcaption><p>setting the Unit as a Major in the <strong>Major 1 Coursework</strong> pathway</p></figcaption></figure>

### (<mark style="color:green;">4</mark>) Adding a Substitute Unit

{% hint style="info" %}
**NOTE**:

Refer to the [**Substitute Units**](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/advanced-course-outline/substitute-units.md) page for the details on how you can implement the substituting of units in your Course Outline.
{% endhint %}

1. Follow the instructions from Steps 1 to 3 in the first Workflow [above](#adding-prerequisites-corequisites-disallowed-and-substitute).
2. After (<mark style="color:red;">**1**</mark>) clicking the **ADD CONSTRAINT** button, (<mark style="color:red;">**2**</mark>) locate the substitute unit and click the **Add as Unit** button, and then (<mark style="color:red;">**3**</mark>) click the **Add as Constraint** button on the unit that you want to be substituted.

{% hint style="info" %}
**NOTE**:

If the substitute Unit is not added in the COURSE OUTLINE section, use the UNIT SEARCH section to add the constraint.
{% endhint %}

In the example screenshot below, Unit ComSci100 will be substituted by Unit ComSci000.

<figure><img src="https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FRV0vHAw8nIZ6rVPTrO8I%2Fimage.png?alt=media&amp;token=f1f3c822-c1c8-4ee4-8c8d-32dad0d4544f" alt=""><figcaption><p>adding a substitute unit for <strong>ComSci100</strong></p></figcaption></figure>

3. After performing the steps above, go to the EDIT COURSE OUTLINE DETAILS section. **NOTE** that both units are added in the **Unit Id** and **Constraint Unit Id** fields. Set the **Constraint Type** to **Substitute Unit** and click the **SAVE OUTLINE CONSTRAINT** button.

<figure><img src="https://1246578764-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FC21t2SaV2eKaLxvtR27D%2Fuploads%2FAJFYr1va8Y99RW5Ms5AL%2Fimage.png?alt=media&amp;token=e5771c72-286e-4b20-aec8-daf240b69b2f" alt=""><figcaption><p>setting the <strong>Constraint Type</strong> as <strong>Substitute Unit</strong> and save</p></figcaption></figure>

### (<mark style="color:green;">5</mark>) Adding a Cross Course Prerequisite Unit Constraint Type

Refer to the instructions in [**this article**](/home/paradigm-knowledge-base/curriculum-management/workflows/manage-course-outlines/advanced-course-outline/cross-course-prerequisite-units.md).

## Video Tutorial

{% embed url="<https://www.youtube.com/watch?v=ZFjtpr7sAN4>" %}
