# Course Status

The *mart\_course\_offering.status* mart includes information regarding the status of a Course offering in a learning environment. The *mart\_course\_section.status* mart does the same at the course section level.

## BQ Prod Dataset Locations <a href="#coursestatus-bqproddatasetlocations" id="coursestatus-bqproddatasetlocations"></a>

mart\_course\_offering

mart\_course\_section

## Interactive Mart Dependency Diagram <a href="#coursestatus-interactivemartdependencydiagram" id="coursestatus-interactivemartdependencydiagram"></a>

The following visualization shows the construction of this data mart defined in the [UDP marts](https://gitlab.com/unizin-community/unizin-data-platform/marts) repository. More information on the repository and diagram can be found on [this marts page.](https://resources.unizin.org/products/data-and-analytics/unizin-data-platform/data-stores/data-marts)

{% hint style="info" %}
[Click here to open the interactive chart.](https://assets.public.unizin.org/udp-marts/mart/mart__course_offering__status.svg)
{% endhint %}

<div data-full-width="true"><figure><img src="https://3709019308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKYwtHNGgdPXS3PWAlZUr%2Fuploads%2Fgit-blob-a3238bd3f99c30f6f74101ec002ee3f1c4301f24%2Fstatus.png?alt=media" alt=""><figcaption><p>mart_course_offering.status</p></figcaption></figure></div>

## Schema <a href="#coursestatus-schema" id="coursestatus-schema"></a>

### **Mart/Course\_offering/status**

<table data-full-width="true"><thead><tr><th width="298.33333333333337">Field Name</th><th width="181">Type</th><th>Description</th></tr></thead><tbody><tr><td>udp_course_offering_id</td><td>INTEGER</td><td>The UDP ID for the Course offering.</td></tr><tr><td>lms_course_offering_id</td><td>STRING</td><td>The LMS ID for the Course offering.</td></tr><tr><td>academic_term_name</td><td>STRING</td><td>The name of the academic term, i.e. <em>Fall 2020.</em></td></tr><tr><td>academic_term_start_date</td><td>DATE</td><td>The start date for the academic term.</td></tr><tr><td>academic_organization_array</td><td>ARRAY&#x3C;STRING></td><td>An array of the academic organization(s).</td></tr><tr><td>academic_organization_display</td><td>STRING</td><td>An array of the academic organization(s) written as a comma-separated string.</td></tr><tr><td>course_offering_title</td><td>STRING</td><td>The title of the Course offering, i.e. <em>Linear Algebra.</em></td></tr><tr><td>course_offering_start_date</td><td>DATE</td><td>The start date for the Course offering.</td></tr><tr><td>course_offering_subject</td><td>STRING</td><td>The subject of the Course offering, i.e. <em>MATH.</em></td></tr><tr><td>course_offering_number</td><td>STRING</td><td>The number of the Course offering, i.e. <em>310</em></td></tr><tr><td>course_offering_code</td><td>STRING</td><td>The code of the Course offering, i.e. <em>MATH 310.</em></td></tr><tr><td>instructor_name_array</td><td>ARRAY&#x3C;STRING></td><td>An array of all the instructor’s names for the Course offering.</td></tr><tr><td>instructor_lms_id_array</td><td>ARRAY&#x3C;STRING></td><td>An array of all the instructor’s LMS IDs for the Course offering.</td></tr><tr><td>instructor_display</td><td>STRING</td><td>An array of all the instructor’s names for the Course offering written as a string.</td></tr><tr><td>instructor_email_address_array</td><td>ARRAY&#x3C;STRING></td><td>An array of all the instructor email addresses for the Course offering.</td></tr><tr><td>instructor_email_address_display</td><td>STRING</td><td>An array of all the instructor email addresses for the Course offering written as a comma-separated string.</td></tr><tr><td>status</td><td>STRING</td><td>The status of the Course offering.</td></tr><tr><td>reported_status</td><td>STRING</td><td>The reported status of the Course offering.</td></tr><tr><td>publish_time</td><td>DATETIME</td><td>The time the Course offering was published.</td></tr><tr><td>num_students</td><td>INTEGER</td><td>The number of students enrolled in the Course offering.</td></tr><tr><td>published_la</td><td>INTEGER</td><td>The number of published learner activities in the Course offering.</td></tr><tr><td>unpublished_la</td><td>INTEGER</td><td>The number of unpublished learner activities in the Course offering.</td></tr><tr><td>published_quiz</td><td>INTEGER</td><td>The number of published quizzes in the Course offering.</td></tr><tr><td>unpublished_quiz</td><td>INTEGER</td><td>The number of unpublished quizzes in the Course offering.</td></tr><tr><td>active_module</td><td>INTEGER</td><td>The number of active modules in the Course offering.</td></tr><tr><td>unpublished_module</td><td>INTEGER</td><td>The number of unpublished modules in the Course offering.</td></tr></tbody></table>

### **Mart/Course\_section/status**

The course section mart includes all the fields included in the course offering mart, in addition to the nine fields shown below.

<table data-full-width="true"><thead><tr><th width="264.33333333333337">Field Name</th><th width="115">Type</th><th>Description</th></tr></thead><tbody><tr><td>udp_course_section_id</td><td>INTEGER</td><td>The UDP ID of the Course section.</td></tr><tr><td>lms_course_section_id</td><td>STRING</td><td>The LMS ID of the Course section.</td></tr><tr><td>combined_section_basis</td><td>STRING</td><td>The primary basis for combining sections together if the Course section is combined with others. Common values for this field are <em>CrossListed, MeetTogether,</em> and <em>UgGrad.</em></td></tr><tr><td>combined_section_id</td><td>STRING</td><td>The ID of the combined Course section if the Course section is combined with others.</td></tr><tr><td>delivery_mode</td><td>STRING</td><td>The delivery for the instruction given in the Course section, i.e. <em>FaceToFace, Online, BlendedLearning.</em></td></tr><tr><td>is_combined_section_parent</td><td>INTEGER</td><td>A binary value (0 or 1) indicating whether the Course section in a group of combined Course sections is the Parent Course section. This is only meaningful if the course section is combined with other sections.</td></tr><tr><td>is_default</td><td>INTEGER</td><td>A binary value (0 or 1) indicating whether the Course section is the default Course section.</td></tr><tr><td>is_graded</td><td>INTEGER</td><td>A binary value (0 or 1) indicating whether the Course section is the graded Course section.</td></tr><tr><td>is_honors</td><td>INTEGER</td><td>A binary value (0 or 1) indicating whether the Course section is a Honors Course section.</td></tr></tbody></table>

### Fields <a href="#coursestatus-fields" id="coursestatus-fields"></a>

#### **status**

The *status* field defines the status of the Course offering in the learning environment. The status of the Course offering is found by looking at events from the learning environment. Specifically, we look for an event where the status of the course was modified. For example, to define the status of a course in Canvas, we look for an event with a ‘Modified’ action and an object with a non-null workflow state. These aspects of an event tell us that the status was modified. By depending on events, we are able to have the most recently updated status for the course. The *status* field in this mart is defined as the workflow state of the object in the event. If this field is null for a course, we then will define the status from the *le\_status* field in the *course\_offering* table from the context store. Overall, the *status* field tells us the current state of the Course offering, specifically in relation to its availability for teaching and learning. Common values for this field are presented below.

* **Published** *-* the course is published.
* **Unpublished** *-* the course is not published.
* **Active** - the course is published and currently active.
* **Completed** *-* the course has concluded.
* **Created** - the course has been created but not published.
* **Deleted** - the course has been deleted.
* **Available** - the course has been published and is not completed.
* **Claimed** - the course has been undeleted and is not published

#### **reported\_status**

The *reported\_status* field in this mart is similar to the *status* field, but more generalized for reporting purposes. The reported status prioritizes the statuses that users find most relevant. The *reported\_status* field is defined by the *status* field. We define four values for the *reported\_status* field:

* **Not Published**
* **Published**
* **Deleted**
* **Completed**

The status values that map to a ‘Not Published’ reported status are ‘Created’, ‘Claimed’, and ‘Unpublished’**.** The status values that map to a ‘Published’ reported status are ‘Available’, ‘Published’, and ‘Active’. The ‘Deleted’ status value maps to the ‘Deleted’ reported status value, and the ‘Completed’ status value maps to the ‘Completed’ reported status value.

#### **publish\_time**

The *publish\_time* field for this mart defines when the Course offering was published. This is achieved by looking through the events emitted in the course from the learning environment. Specifically, we look for the earliest event in which the status of the course was modified. If the learning environment being used is Canvas, we look for the earliest event with a ‘Modified’ action and a ‘published’ workflow state. This is a very similar process as how we define the status of a course, except in this case we look for the earliest event rather than the latest, and we only focus on events with ‘published’ workflow states.

#### **num\_students**

The *num\_students* field defines the number of enrolled students in the Course offering. This number is found from the *course\_section\_enrollment* table in UDP’s context store, which keeps track of enrollments in course sections. We count the number of enrollments with a role of ‘Student’ or ‘Observer’ and a role status that is not ‘Dropped’, ‘Withdrawn’, or ‘Not-enrolled’.

#### **published\_la**

The *published\_la* field in this mart is the number of published learner activities in the course offering. We use the *learner\_activity* table from the context store to compute this field. Using this table, we count the number of learner activities in the course with a status of ‘published’.

#### **unpublished\_la**

The unpublished\_la field is the number of unpublished learner activities in the course offering. Again, we use the *learner\_activity* table from the context store to compute this field. For this field, we count the number of learner activities with an ‘unpublished’ status.

#### **published\_quiz**

The *published\_quiz* field is the number of published quizzes in the course offering. To compute this field, we use the *quiz* table from the context store. Using this table, we count the number of quizzes in the course with a status of ‘published’**.**

#### **unpublished\_quiz**

The *unpublished\_quiz* field is the number of unpublished quizzes in the course offering. For this field, we use the *quiz* table in the context store to count the number of quizzes in the course with an ‘unpublished’ status.

#### **active\_module**

The *active\_module* field is the number of active modules in the course offering. Using the *module* table in the context store, we count the number of modules in a course with an ‘active’ status.

#### **unpublished\_module**

The *unpublished\_module* field is the number of unpublished modules in a course offering. We use the *module* table in the context store to count the number of modules in the course with an ‘unpublished’ status.

## Tableau Template Workbook

As a starting point for visualization for this data mart, Unizin has created a Tableau template workbook available for download here:

{% file src="<https://3709019308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKYwtHNGgdPXS3PWAlZUr%2Fuploads%2FHVeZZ6fG3pK5S9bvz7D2%2FCourse%20Readiness%20Dashboard.twb?alt=media&token=713a12cd-f83b-4389-821c-278604bd1686>" %}
Course Readiness Dashboard Tableau Template Workbook
{% endfile %}

Unizin does not provide active, production support for the visualizations, filters, and aggregations in the Tableau workbooks. They are intended to be used as-is, but modifications are welcome! However, we will provide support related to connecting to source data and any issues with the Bigquery -> Tableau workflow.

Once downloaded, ownership of the workbook is transferred to the user. Unizin does not host the workbook on a Tableau Server instance.

### Connecting to Data

The default data connection in the workbook is to Unizin's synthetic data. After downloading the workbook, the first step will be to transfer the connection to your own production UDP data. Here is a [guide document](https://docs.google.com/document/d/1v_4JjgCz46nky5WZbZZGmO_6F6E2zoyBYifOSoZJNk4/edit?usp=sharing) to help with this process; Tableau also has a [published doc](https://help.tableau.com/current/pro/desktop/en-us/connect_basic_replace.htm) for replacing data sources.  For any issues connecting to source data, please contact <support@unizin.org>.

### Tableau Dashboard Filters <a href="#lmstooluse-fields-1" id="lmstooluse-fields-1"></a>

The following fields are used as filters in the Tableau Workbook:

* Academic Organization - The academic department name
* Instructor Display - The list of names of the course's instructors.
* Course Offering Title - The title of the course offering.
* UDP Course Offering ID - The UDP ID of the course offering.
* Academic Term - The academic term of the course; the default selection is the current term.

These filters are in scope for all visuals in the dashboard.

### Tableau Visualizations

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfgqdN0PUEmSos14E6cNA4jd0EAe4-t1Hse01-gQzTKQpI5Qk5uoOFa1TVQVkKg3LfGxeG7bd591JhLBkhAX0x9xIz30WmfBVnnknmTWOiiQRqxi376NI79L97fFq_8sTfeq4ThgA?key=_hgJb3vUEW8LlDDggYI73b4p" alt="" width="563"><figcaption><p>Metric Cards</p></figcaption></figure>

The metric card shows the number of published and unpublished courses. These metrics help track course setup status and ensure courses are ready for students before the term begins

<figure><img src="https://3709019308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKYwtHNGgdPXS3PWAlZUr%2Fuploads%2FP8COqNCpuuhaW04YpmCO%2FScreenshot%202025-05-12%20at%2011.38.37%E2%80%AFAM.png?alt=media&#x26;token=8aa1d67f-dd18-47f1-9fd9-1ebbcdd379f2" alt="" width="563"><figcaption><p>Number of Published and Unpublished Quizzes Metric Cards</p></figcaption></figure>

<figure><img src="https://3709019308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKYwtHNGgdPXS3PWAlZUr%2Fuploads%2Fd2gPyc9qHaW7uqBxuarF%2FScreenshot%202025-05-12%20at%2011.39.01%E2%80%AFAM.png?alt=media&#x26;token=01283e8a-1f2c-44d6-ba04-86d2485f3b97" alt="" width="563"><figcaption><p>Number of Published and Unpublished Learning Activities Metric Cards</p></figcaption></figure>

<figure><img src="https://3709019308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKYwtHNGgdPXS3PWAlZUr%2Fuploads%2F9OWoksUzWZvp9PvlCK1m%2FScreenshot%202025-05-12%20at%2011.39.20%E2%80%AFAM.png?alt=media&#x26;token=8c56749b-e1a4-47d7-8004-724138ea5a78" alt="" width="563"><figcaption><p>Number of Active and Unpublished Modules</p></figcaption></figure>

These course content metrics displays counts of published and unpublished quizzes, published and unpublished learning activities, and active and unpublished modules. These numbers help monitor course content readiness and ensure key learning materials are available and organized for students.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcD0xHKSUy0Pp931EzfmoxA7fXVRpZp4j8kq7Y4t3MrNKU_gVv2H7fqFJ5E8zJIywOKPQu_pFUq3AE2ZGsGCYcr7xzEfLqC0c4szECzKYpjTy9JyAwVIagzY_vnoLR6NySAQhs2?key=_hgJb3vUEW8LlDDggYI73b4p" alt="" width="563"><figcaption><p>Course Availability Status</p></figcaption></figure>

The pie chart shows the percentage of courses that are published, unpublished or deleted. This gives a quick overview of overall course availability and helps identify areas that may need attention.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcBGfCTlyrnTDSFefVg6FXm6vEy2FBC8WJIkV-3OvdswVQRbwKe489BOVMUHQl6xydcaPNrZhTQRqmpCCJTBZMhvw-OeOS-1Otnq5npC1jfvnhI_8dCKkNaJKRJP17p5rTy_ulgIA?key=_hgJb3vUEW8LlDDggYI73b4p" alt=""><figcaption><p>Course Publication Timeline</p></figcaption></figure>

Course publication timeline chart shows when courses are published in relation to the term start date, focusing on a 30-day window before and after the term begins. It helps identify trends such as how early instructors tend to publish their courses, whether publishing peaks occur close to the start date, or if many courses are published after the term has already started. This insight supports planning and outreach efforts to encourage timely course readiness.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZgI6NgONcGA0UfMABh9p_PTsxpz2uhAWjTmOZoVZwzMr8GarYPvdzI6HJ4kf_eT2D0b2LB23eWGXcI_nMoVjSZXwhnzXxQvHRpRedW5vJdSX8k8gA0G6PacxSHr9WFjER2cTvaA?key=_hgJb3vUEW8LlDDggYI73b4p" alt=""><figcaption><p>Course Design Statistics</p></figcaption></figure>

Course design table provides a detailed view of course readiness by showing important information such as the number of students enrolled, number of active modules, courses status (published or unpublished), and the exact date and time the course was published. It helps monitor course setup progress and supports timely intervention if needed.<br>
