Activities: Subcourse

Maintained by Picture of David MudrákDavid Mudrák
Subcourse behaves as a graded activity. The grade for each student is automatically fetched from a final grade in another course. This allows course designers to organize the learning content into separate units.
1778 sites
99 fans
Current versions available: 9

Subcourse is an activity module that represents the final grade obtained in another course. This allows to create "meta-gradebook" in one course, where all final grades from other courses are aggregated.

  • Grades are fetched automatically or can be fetched manually any time.
  • The grade type and other grade item settings are copied from the original grade total item and can not be changed.
  • Subcourse can be automatically marked as a completed when the referenced course is completed.
  • If the final grade in the referenced course is hidden, the associated subcourse activity grade is hidden, too.

This allows to apply the concept of grades aggregation to a next level and aggregate grades across courses.

Diagram illustrating course final grades aggregated to a main course via the Subcourse instances


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6


Picture of David Mudrák
David Mudrák (Lead maintainer)
Picture of Vadim Dvorovenko
Vadim Dvorovenko
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of David Mudrák
    Fri, Oct 6, 2017, 7:53 PM

    Thanks. Can you elaborate what exactly you mean by that?

  • Picture of Brandon Mitchell
    Tue, Nov 7, 2017, 3:47 AM
    Hi, We noticed that current is misspelled in "Your currrent grade is... (there are 3 r's). Is this corrected in an updated version, or can you let me know where we can go to correct it in the plugin? Thanks.
  • Picture of David Mudrák
    Tue, Nov 7, 2017, 4:47 AM

    Wow - that typo has been there since 2013 and no one noticed! (or they did but did not bother to report back to me, shame on them! wink) Thanks Brandon, I'm going to fix that asap. Meanwhile, you should be able to fix it for your own site either by language pack customization feature, or by editing the file mod/subcourse/lang/en/subcourse.php

  • Picture of David Mudrák
    Fri, Nov 10, 2017, 3:39 AM

    The misspelled word "currrent" fixed in the version 5.0.1. Thanks again.

  • Picture of Ketan Chandaria
    Thu, Nov 23, 2017, 11:58 AM
    Hi David,
    I created a Program course (using course meta link) that is based on 4 courses (sub courses). All works well but when as a student i navigate to any sub-course, i cannot navigate back from that sub-course to the meta-course. I have to then go back to the My Courses and again select that Meta-Course. Is there something i'm missing or any work-around getting this done?
  • Picture of David Mudrák
    Thu, Nov 23, 2017, 5:28 PM

    Hi Ketan. Yeah, there is no implicit way for a course to know what its parent is to display the navigation automatically. What I would do is adding a HTML block or the URL resource to each of the subcourses that take the students back.

  • Picture of Andreas Hruska
    Thu, Feb 15, 2018, 4:40 PM
    Hi David!

    We are now using your plugin in multiple scenarios and are quite happy with it smile
    In one case we are using in course names.
    Unfortunately your plugin does not support this filter as I understand and renders the original text in multiple context like:

    Go to the course {mlang de}Sicheres Arbeiten - Grundlagen{mlang}{mlang en}Health & Safety{mlang}

    Any suggestions?

    Best regards


  • Picture of David Mudrák
    Thu, Feb 15, 2018, 5:08 PM

    Hi Andreas. Happy to hear you found the plugin useful. What you experience is a result of a bug / missing feature. Subcourse apparently does not call format_string() to display the course name (which would apply filters). It should not be hard to fix. Please report it as the plugin bug or even better submit a pull request smile

  • Picture of Shutiri Yarbe
    Mon, Feb 26, 2018, 4:08 PM
    Hello David,

    First of all, thank you so much for this plugin that we use a lot in our site, in multiple ways.

    Do you have an update on Stefan's question regarding the Subcourse activity to be available in the mobile app?
    We want to use Subcourse now in a scenario for which the mobile app is absolutely necessary.

    I have created an issue in Github for this request.
    Jumping to the referenced course would be my first suggestion.
    Would you have any other option in mind?

    Best regards,

  • Picture of Dmitriy Makarov
    Wed, Feb 28, 2018, 8:50 PM
    Hi David! Unfortunately did not follow the discussion. I meant that sometimes we need to unload an assessment for a specific task or test, and not the final grade for the entire course. This function would increase the capabilities of this plugin.
  • Picture of Tim Hillier
    Wed, Mar 28, 2018, 1:12 AM
    Hello David.
    I have tried to use the subcourse activity and everything seems perfect except for completion tracking. The grade comes back as 100 but the check box is still not checked for completion. Any ideas on what I can look at for this?

  • Picture of David Mudrák
    Wed, Mar 28, 2018, 5:04 AM

    Hi Tim. Are you referring to completion based on grade or completion based on completing the referenced course? See issues #15 and #16 in the plugin's bug tracker for details and comment there eventually. Thanks.

  • Picture of Tim Hillier
    Thu, Mar 29, 2018, 2:32 AM
    Thank you David. the problem was mine. I did not have course completion set properly, just activity completion. Thank you for getting back to me.
    As we primarily use scorm packages that send completion versus a mark is there a way to hide the grades from the student to only show completion in the check box?
  • Picture of Dmitry Gorsky
    Mon, May 7, 2018, 5:50 PM
    Hello David! Is it possible to automatically enroll students to all sub-courses?
  • Picture of David Mudrák
    Mon, May 7, 2018, 6:57 PM

    Subcourse does not (and will not) deal with actual enrolment. There are other ways how to achieve it, for example via

Please login to post comments