cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Surveyor

find courses assoc. with a specific outcome?

Jump to solution

Can I use Canvas data to find courses that are associated with a specific outcome?

1 Solution

Accepted Solutions
Highlighted
Instructure
Instructure

Hi Lance,

Currently, outcomes are not stored within Canvas Data and is something being worked on. The closest to this that you could get is to run the "Outcome Results" report found at the account level.

View solution in original post

9 Replies
Highlighted
Community Member

Can you be more specific about the outcome you are looking for? We use Canvas Data to go in the opposite direction (that is, use assignment_dim to find the assignments and then submission_dim to find  scores).

Highlighted
Instructure
Instructure

Hi Lance,

Currently, outcomes are not stored within Canvas Data and is something being worked on. The closest to this that you could get is to run the "Outcome Results" report found at the account level.

View solution in original post

Highlighted
Surveyor

This is information I am also after. I had to refer to the Canvas Outcome Results API (because it is not available in the Canvas data) but then I learned that if the outcome is not graded, the API will not return any values so I am currently working with professional services to see if I can have that added

Highlighted

Thanks for the answer, Sydney.  It's unfortunate that it's not available, because I could really use it right now.  My colleague burgessd@umich.edu​ was trying to help me find this information in Canvas Data, so he'll be interested to know it's not available.

How can I be notified about the progress of outcomes being added to Canvas Data?

Highlighted

You'd like to have outcomes added to which, the API or Canvas Data?  I'd like it to be in both places, but it would be most helpful in the API.

Highlighted

Sure, I can explain.

At the Univ. of Michigan, we have some courses that use a specific application (non-LTI) for some of their assignments.  We want to make it foolproof for instructors to indicate which of their assignments require their students to use that software.  The indication needs to be something that we can look for using the API (a hybrid API/Canvas Data solution would be fine).  We want to implement a process that finds those assignments and makes sure the students have the right access to the application, that the necessary supporting files are available, etc.

We tossed around a few ideas for how to let instructors mark their assignments for special processing.  We are extremely disappointed that we're not able to place labels, categories, or tags of some kind on assignments and other resources.  Eventually, we settled on creating an outcome, let's call it "Project X", that could do the job.  It could:

  1. Be added to courses, which would let us discover which courses used the software.
  2. Be added to the assignments, so we could see which specific assignments use the software.  Apparently, the outcome must be added to the course before they can be added to the course's assignments, which is good for us.
  3. Because it's a predefined thing, it avoids typos or other mistakes that could happen with labels or tags.

However, the problem soon turned out to be that even when the outcome was associated with some courses and their assignments, we could not use the API to find them easily.  I'm new to Canvas' API, but I've used a lot of other REST APIs.  I expected that I'd just be able to query for assignments with the outcome and each of those would refer back to their courses, which would refer to the students.  But Canvas' API isn't that flexible.  It soon became apparent that we need to use a more brute force method: Query ALL of the courses, find only those with the outcome, then find all of their assignments, and get only those that have the outcome.  There will probably be more steps along the way as well as pagination to deal with, so the number of API queries and length of processing time just keeps growing.

For now, we're settling on a less than ideal solution:  Some of our local support staff will maintain a list of courses that need this special processing and instructors will contact them to have their courses added to it.  That should cut out the largest amount of queries.

Ideally, we shouldn't have to work this hard to get the data.  If we were able to use a relational DB, we could easily construct some SQL statements that join a few tables and give the results quickly.  This experience has been frustrating.

Highlighted

Hi Lance,

I'm not aware of how to use the API--our database is hosted by Unizin in the Amazon cloud. I misunderstood what you meant by "outcomes". I thought you were talking about assignment outcomes, and not the separate tool in Canvas for importing outcomes. However, your question touches on an important issue for us, which is that we are thinking about what "snapshots" or some simplified view of Canvas Data that would be more user friendly for people who don't need to study click-stream data but rather need to learn about the overall components of Canvas courses and summary statistics of students' usage of those components.

Sam

Highlighted

For what it's worth, it sounds like the prognosis for Outcomes being added to Canvas Data is highly uncertain as the Outcomes team within Canvas is re-imagining what that tool/component will look like. As a result, the Data team is hesitant to do any work on it as it will likely be changing, timeframe TBD ( they told us the two options are either within 6 months, or more than 6 months out... and this one is more than 6 months out). At least that is my takeaway from InstructureCon.

Highlighted
Community Member

As a "solution" we use the Canvas REST API for retrieving outcomes, etc. and we use Canvas data for the rest. But this is not ideal. We very much want outcomes to be present in the Canvas data too.