====== Canvas-WeBWorK integration ======
When you request a WeBWorK course, you can also request that it be integrated with Canvas.
Before you decide to do this, please note the following:
* The **only** way to log in to your WeBWorK course will be from Canvas. You will **not** be able to log in the usual way from https://webwork.math.ucdavis.edu. This applies to students, TAs, **AND** instructors!
* For each WeBWorK problem set that you assign, you will have to create a corresponding placeholder assignment in Canvas. Student grades will be passed from WeBWorK to this Canvas assignment.
* Students who join your course will be able to access your WeBWorK course as soon as they can access your Canvas course.
* When a student logs in to WeBWorK for the first time, they will be automatically "assigned" ALL "visible" sets. So if you don't want students to know a set exists, make it "invisible" using the Homework Sets Editor. If you do want students to know a set exists, keep it "visible" and change the "open date" as necessary.
===== Setting everything up =====
Once your WeBWorK course has been created with Canvas integration enabled, you will need to set some things up in Canvas and in WeBWorK.
=== Create a generic link from your Canvas course to your WeBWorK course ===
- From the "Assignments" tool in your Canvas course, create a new assignment.
- The "Assignment Name" can be whatever you want; for example, "WeBWorK".
- Set "Submission Type" to "External Tool".
- For "External Tool URL", enter a link to your WeBWorK course. You should have received this link from Leng; it should be of the form https://webwork.math.ucdavis.edu/webwork2/[course-name]/
- Check the box labeled "Load This Tool In A New Tab".
- This assignment is not a real assignment; it's just a link to your WeBWorK course. Therefore:
- Set "Points" to 0.
- Check the box labeled "Do not count this assignment towards the final grade".
- Set "Allowed Attempts" to "Unlimited".
- Leave the "Due", "Available from", and "Until" dates empty.
- Save the assignment; whether you publish it for students to see is up to you (see Student navigation to WeBWorK, below).
- Now you can click on this assignment to get to your WeBWorK course.
=== WeBWorK course setup ===
- Go to the "Course Configuration" tool in your WeBWorK course.
- [Suggested] Under the "General" tab, set "Show Total Homework Grade on Grades Page" to False.
- Under the "Permissions" tab:
- Set "Allowed to change their e-mail address" to nobody.
- Set "Allowed to change their password" to nobody.
- Don't worry about adding students or TAs to your WeBWorK roster.
* Add students and TAs to your Canvas roster instead, and they will be automatically added to your WeBWorK roster when they first open WeBWorK.
* There is no "Lead TA" role in WeBWorK, and so anyone labeled "Lead TA" in Canvas will become an "instructor" in WeBWorK.
=== Create a link from each Canvas assignment to each WeBWorK problem set ===
For **each** WeBWorK problem set, do the following **before** the set opens to students:
- From the "Assignments" tool in your Canvas course, create a new assignment.
- The "Assignment Name" should be the same (or similar to) the WeBWorK problem set name. This is only to avoid student confusion.
- [Suggested] Set "Points" to 100.
- [Suggested] Set "Display Grade as" to percentage.
- Set "Submission Type" to "External Tool".
- For "External Tool URL", enter a link to your WeBWorK problem set. This link should be of the form https://webwork.math.ucdavis.edu/webwork2/[course-name]/[set-name]
- Check the box labeled "Load This Tool In A New Tab".
- Set "Allowed Attempts" to "Unlimited". This does not affect the number of attempts per problem in WeBWorK, but rather controls how many times students can "submit" the assignment in Canvas itself. (Since students won't actually submit anything in Canvas for this assignment, it's unclear whether "Allowed Attempts" has any effect at all, but at least setting it to "Unlimited" has no unexpected ill effects.)
- [Suggested] Set a due date. This is not linked to the due date in WeBWorK; if you change the due date in WeBWorK you'll have to change this one manually. This due date does nothing except tell students when the assignment is due. However, it is still worth setting a due date in Canvas so that students can see all their due dates in one place in Canvas.
=== Student navigation to WeBWorK ===
* You now have several links from Canvas to WeBWorK:
* One generic link
* Many assignment-specific links
* Instructors and TAs can use any link at any time.
* Students must use the assignment-specific link in order to open each WeBWorK problem set for the **first** time. After that, they can use any link and navigate within WeBWorK as usual.
* In order to simplify things for students, you could choose to leave the generic link unpublished in Canvas.
----
=== Instructions for students ===
Give your students the following information:
* To log in to WeBWorK, click on one of the Canvas assignment links.
* To start a new WeBWorK assignment, you MUST click on the corresponding assignment link in Canvas.
* Canvas may update your grade before you finish working. **Don't worry:** WeBWorK can keep changing your grade.
* If you only see the option to generate a PDF of an assignment in WeBWorK, go back to Canvas and find the assignment in the “Assignments” tab, and then open WeBWorK from there.
* If you get logged out of WeBWorK, go back to Canvas and click on the assignment link again.
=== WeBWorK quizzes and Canvas ===
* Once you've created a WeBWorK quiz, create a placeholder assignment for it in Canvas as usual. Note that the "External Tool URL" must now include "/quiz_mode/", and be of the form https://webwork.math.ucdavis.edu/webwork2/[course-name]/quiz_mode/[set-name]
* Add SDC accommodations in WeBWorK **after** "assigning" the quiz to all students in WeBWorK.
* If you don’t want students to know the scores immediately, you also need to "mute" the assignment in Canvas. In this case students might get a message saying that all but their last set of answers is blank; tell them not to panic if they see this message.