cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
lsloan
Community Participant

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
smccann
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
samuel-vanhorne
New 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).

lsloan
Community Participant

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.

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

smccann
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.

lsloan
Community Participant

Thanks for the answer, Sydney.  It's unfortunate that it's not available, because I could really use it right now.  My colleague  @DanBurgess ​ 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?

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.

Kerlene_King
Community Member

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

lsloan
Community Participant

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.

m_veldhuijzen
New 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.