cancel
Showing results for
Did you mean:
Highlighted
Community Member

## Can a formula question deal with an equation not algebraically solvable?

I started to enter a formula question and then remembered that an algebraic solution does not exist for the problem...one step entails solving a polynomial with exponents up to around 40 (the yield to maturity on a coupon-bearing bond), which is fairly straightforward with Excel or financial calculator functions to which my students have access. In a publisher's homework/quiz platform I have used, rather than having the quiz system use some optimization routine to solve the equation, I can specify the problem solution as a primitive variable drawn from a range and specify other problem elements, which the student sees in the question, as functions of that variable.  Either way would be fine with me...is either possible in Canvas?

1 Solution

Accepted Solutions
Highlighted

Neither functionality is supported directly, but there are some alternatives that you might be able to use. All of this is for Classic (Legacy) Quizzes. I have not tried it with New Quizzes.

Formula questions require an expression to generate an answer. It can use functions to do that, but "solver()" is not a function Canvas has.

What you may be able to do is use another program to solve them and then create a list of answers that you enter into Canvas. You then use the random numbers to create an index that points to the correct response.

Here's a blog post I wrote almost 5 years ago that explains the process I use: Looking Up Values in Formula Questions

You cannot tie the generation of random variables together or use calculated values in the text of the question itself. I have a work-around for that as well in a second blog: Using Calculated Values in the Text of Formula Questions.

You could use that same process to put the correct response (found using external software) in as well.

In July 2018, Yushun Yuen created a Chrome Extension that adds some functionality to make this easier. There is a link to the extension in the comments to the blog I wrote and the documentation is available at Canvas Quiz Extension. I haven't used it yet, but it looks promising if your Canvas is hosted by Instructure at institution.instructure.com. One benefit to Yushun's approach is that it would regenerate questions for you, while my approach would require you to re-edit the solutions if you regenerate.

The old-school solution is to generate a bunch of questions with already worked out solutions and put them into a question group. I used to use Excel to generate a bunch of questions, bring them into Respondus, and import them into Canvas. Later I wrote my own questions with programming and used the Canvas API to create the questions.

2 Replies
Highlighted

Neither functionality is supported directly, but there are some alternatives that you might be able to use. All of this is for Classic (Legacy) Quizzes. I have not tried it with New Quizzes.

Formula questions require an expression to generate an answer. It can use functions to do that, but "solver()" is not a function Canvas has.

What you may be able to do is use another program to solve them and then create a list of answers that you enter into Canvas. You then use the random numbers to create an index that points to the correct response.

Here's a blog post I wrote almost 5 years ago that explains the process I use: Looking Up Values in Formula Questions

You cannot tie the generation of random variables together or use calculated values in the text of the question itself. I have a work-around for that as well in a second blog: Using Calculated Values in the Text of Formula Questions.

You could use that same process to put the correct response (found using external software) in as well.

In July 2018, Yushun Yuen created a Chrome Extension that adds some functionality to make this easier. There is a link to the extension in the comments to the blog I wrote and the documentation is available at Canvas Quiz Extension. I haven't used it yet, but it looks promising if your Canvas is hosted by Instructure at institution.instructure.com. One benefit to Yushun's approach is that it would regenerate questions for you, while my approach would require you to re-edit the solutions if you regenerate.

The old-school solution is to generate a bunch of questions with already worked out solutions and put them into a question group. I used to use Excel to generate a bunch of questions, bring them into Respondus, and import them into Canvas. Later I wrote my own questions with programming and used the Canvas API to create the questions.

Highlighted
Community Member

James, thanks for the thorough and useful reply.