How do Master and Derivative Courses work?

Ryan Richins
  • Agilix team member

Master Courses allow you to manage multiple courses while working only in one

This diagram illustrates the basic relationships between a Master Course and the various types of copies you can create from it.

  1. Master Course: Master Courses should be used for content creation and management, and shouldn't be used as live courses (students should not be enrolled in Master Courses). You can turn any standalone course into a Master Course by simply making a Derivative copy of it (the different Derivative course types are described below). Once you create a Derivative Course, you no longer have access to any enrollment data that happens to exist in the Master Course (gradebook, students, etc).
  2. Derivative Courses: All Derivative Courses begin as duplicates of the Master Course and inherit applicable data and changes made to the Master. Data that is related to teaching a specific class instance (e.g., Student Enrollments, Groups, Course Title, Start and End Dates, Agendas, Submissions, Posts) is not inherited.
    • Unlinking Derivative Course Elements: You can unlink Master Course inheritance in any single element (e.g., an activity, a folder, a question) of a Derivative Course by simply changing the desired element in the Derivative. Once unlinked, the Master Course no longer impacts that element; however, the rest of the Derivative Course remains linked and subject to changes in the Master.
    • Relinking Derivative Course Elements: You can relink inheritance in most elements of a Derivative Course by changing that element to match the Master Course again. Once relinked, the element is again subject to changes in the Master. This is not true of assessment questions; altering an assessment question creates a new ID, so that question cannot be relinked to the Master by simply changing it back.
  3. Derivative Child Course: This exact copy of the Master inherits changes to the Master. This option works best when you are copying a course with only content and no students enrolled because, once a Derivative Child Copy is made, you can no longer access student enrollment information in the Master Course.
  4. Derivative Child Course (altered): This altered copy of the Master inherits changes to all unaltered elements of the Master.  
  5. Derivative Sibling Course: This is an exact copy of an altered Derivative Child Course that continues to inherit changes to all unaltered elements of the Master. This option works best when you want to make a copy of an active course in which students are enrolled because, after making a Derivative Sibling Copy, you can still access the student enrollment information in the Master Course.
  6. Static Copy: This is an exact, but independent, copy of the Master; changes made to the Master have no impact on it after the copy is made.

Additional articles


  • Save time by setting up your Master and Derivative courses so you can copy between sections, terms, school years, etc.
  • If you want to make changes to the content of a Derivative Course's Master, open the Curriculum Map in the Derivative and choose the Master from the Course Chooser. This way, your changes are inherited by all Derivatives.

Comments (15)

Sort by
Andrew Jackson

When making a derivative course is there a way to copy group sets along with the other content? I'm interested in setting up a master course with groups and different activity visibility based on group assignments, but I want to copy that out.

Scott Taylor
  • Agilix team member

Group settings are not currently copied when copying a course. This request has been passed along to our Product Team for further consideration.

Josh Kaplan

Hi! Is there a way to change a derivative child copy of a course into a static link (i.e. break the link between the two)? I want to delete some activities from the master without them being deleted from the child. 



Brad Marshall
  • Agilix team member

Josh, currently there is not. The best option available for now would to create a new master course (derivative child of the original master or derivative sibling of the previous child) and then use that as the next version for the master course.

Josh Kaplan

Gotcha. Thanks, Brad!

Josh Kaplan

Let's say I create a Derivative Child Copy of a Master Course.


I enroll students in the Derivative Copy and they begin working, submitting assignments, etc.

Then, I make a change to an activity in the Master course. 

Question: Will the activity change in the derivative child copy, even though students have already completed the activity?



Scott Taylor
  • Agilix team member


Modifications in the master course will propagate down to the derivative child copy, though students that have already completed work will have their submission locked into the version that they had when they started. If a retry is granted then it will generate a new attempt using the current data when the student starts the retry. The one exception to this behavior is Practice Question items, which will remain locked to the version that the student accessed on the first attempt.

If the category, weight, or score of an item changes this will affect previous submissions.


Josh Kaplan

That's good to know, Scott.



Josh Kaplan

Is there a way to look at a Master and see all its derivatives?

Scott Taylor
  • Agilix team member

Currently the only way to review the derivatives of a course is to utilize the API command of GetItemLinks. If just the master CourseID is passed it will provide the list of derivatives at all levels, so it will return the derivatives of derivatives as well with the data returned.

Geoff Quinby

Once a Static Copy of a course has been made, is there any way to re-attach it to its Master Course so that it becomes a Derivative Child copy?

Brad Marshall
  • Agilix team member

While you can link a static copy of a course to a new master, the already copied content will be treated as unique unlinked from the content from the master course. It would receive new items created, but not updates to existing items.

Josh Kaplan

Hi Brad,

How do I do that - link a static copy of a course to a new master?




Brad Marshall
  • Agilix team member

You would have to do this through the API. You would use the UpdateCourses API and add a baseid to the static copy. The baseid should be the course ID of the new master course.

Josh Kaplan

Thanks, Brad!

Please sign in to leave a comment.