Webwork Instructor Guide

Webwork is an online assignment and quiz tool​ for numeric problems and equations. In Webwork, you can create custom problems or choose from a library and assign these problems on an individual student basis as part of homework sets or quizzes. Students can receive instant feedback after answering each problem and have multiple attempts, to better understand their learning.
Access Immediate You can access Webwork through Canvas.
Cost Yes Free.
Bandwidth Yes Low demand on internet connections.
Canvas Integration Yes Works in coordination with Canvas.
Privacy Yes Webwork is developed and maintained at UBC.
Similar UBC-Supported Tools Y Depending on your goals, other centrally-supported tools can help you run assignment and quizzes in different ways.

What can I use it for?

You can use Webwork to assign numeric problems and equations to students by:

  • Giving sets of problems as homework assignments that can include answer-based feedback and multiple attempts
  • Conducting quizzes or exams that can assign different questions to individual students

This tool guide was last reviewed in December 2022 with version 2.17 of Webwork.

What do I need to use Webwork?

A supported web browser

Webwork runs in your web browser and supports using Chrome, Firefox, Safari, or Edge. We recommend that you use the latest version of Chrome or Firefox. Additionally, some browser extensions (mainly adblockers) can prevent filling in form fields in Webwork, so you may need to pause these extensions for Webwork to function properly.

Tips

  • You can provide your students with UBC’s Webwork student guide, which outlines necessary steps and tips for them to get started. Please also encourage students to familiarize themselves with the format and decimal exceptions for their responses, as correct answers are very specific in Webwork.

How do I use Webwork?

You first need to create a Webwork course using Canvas, then create problem sets to assign as homework or quizzes.

Click any bar below for instructions and tips for using Webwork.

Expand All

Create your Webwork course

You will access Webwork exclusively through Canvas.

  1. Log in to your Canvas course with your UBC CWL (Campus-Wide Login), and click Assignments in the Course Navigation.
  2. Click the +Assignment blue button in the upper right side of the screen.
  3. Enter the assignment name as "Webwork Link" to prevent confusing this with other assignments.
  4. Scroll down to "Submission Type" and select External Tool from the drop-down menu.
  5. Even if you know the URL, click Find. (Entering the URL directly will not sync properly with Canvas.)
  6. From the list, pick Webwork and click Select.
  7. Click the “Load This Tool In A New Tab" checkbox.
  8. Save the assignment.
    • Don't publish this assignment, if you want to sync grades between Webwork and Canvas. Instead, set up links and syncing for individual assignments using instructions in the accordion further below.
    • Don't delete this assignment, even though it is unpublished, as this action will break the class list sync between Webwork and Canvas.
  9. You will be redirected to the assignment page you just saved. Click Load Webwork Link in a new window to create your Webwork course.
  10. Students will be added from the Canvas course to the Webwork course, and the class list will continue to sync once per day. If you would like to sync right away, you can manually sync the class roster:
    • In Webwork, click Classlist Editor in the navigation.
    • Click the LTI tab.
    • Click Take Action! to manually sync the class roster.

Tips

  • You can click the assignment link you've made to quickly access your Webwork course from inside your Canvas course at any time.
  • Opening multiple Webwork tabs using the Canvas Webwork link will disrupt the syncing between the Canvas and Webwork courses. To use multiple tabs in Webwork, please open additional links from within Webwork itself, rather than opening Webwork from Canvas multiple times.
  • You can get help merging multiple course sections into one Canvas course, if you're running a large course with Webwork and don't want to do this setup multiple times. Contact your Instructional Support Unit for help.

Make or edit Webwork homework sets from publicly available problems

The quickest way to make a homework set is to pull in problems from Webwork’s Open Problem Library (OPL), which contains over 35,000 reviewed and tested problems that are browsable by discipline. Questions in the OPL have been contributed by faculty from institutions that use Webwork, as well as by some textbook publishers.

  1. From your Canvas course, access your Webwork course homepage, and click Library Browser in the navigation.
  2. To create a new set, type the name in the empty text field and click Create a New Set in This Course.
    • If you have already created a set, choose it from the "Target Set" drop-down menu instead. Please do not click the "Edit Target Set" button, as this will open the editing for due dates, description, and individual assigning.
  3. Browse the problems to find ones that will work for your context. You can filter problems by selecting the subject, chapter, and section from each corresponding drop-down menu. Click View Problems when you are ready to see the available problems based on your filtering.
  4. To see if hints and/or solutions are available for the problems, click the “Hints” and/or “Solutions” checkbox above the list of problems, then click View Problems again.
  5. You can edit or try any problem by clicking the corresponding icon on the top right corner of each question.
  6. When you are ready to add individual problems to the homework set, click Add above each question.
    • If you want to add them all, click Add All instead.
  7. Continue adding questions until you're satisfied with the homework set.
  8. To review all the problems you added and finish the setup, click Edit Target Set at the top.
  9. On the edit page, set the due date, solution view date, and description. You can also set whether students can see hints, if the problem has them. When you are done, click Save Changes.
  10. To assign this homework set, click individual versions on the top of this page.
  11. Use the options provided to assign to all current users, unassign to all users, or individually select users from the list provided. If you make individual selections, click Save to finalize your changes.

Tips

  • Please allow yourself ample time to create homework sets, as the process of filtering and adding questions from the large library can take a while.
  • You can also filter by local problems and problems from the course. Browsing “Local Problems” will display UBC-specific homework sets that include a) sets from the current course, b) sets shared through the UBC Library, and c) sets UBC instructors have contributed to the OPL. Browsing “From This Course” will display sets from the current course only.

Make or edit Webwork homework sets using custom problems

Making homework sets with custom problems requires editing code files for each problem. You will first add blank problems to a homework set, which will create standard code templates for you to edit.

  1. From your Canvas course, access your Webwork course homepage, and click Hmwk Sets Editor in the navigation.
  2. To create a new homework set, click the Create tab. If you have already created one, proceed to step 5.
  3. Enter a name for the set and click Take Action!. The name of the set can include a-z, A-Z, 0-9, and dashes (“-”), but please note it cannot have other invalid characters, such as question marks.
  4. Click the number under the "Edit Problems" column next to the set.
  5. Scroll down to the bottom and click the "Add" checkbox and enter the number of custom problems you want to add.
  6. Click Save Changes.
  7. Scroll down to the "Problems" area to see your blank problems. Click the pencil icon to edit a problem.
  8. When making a custom problem, you must follow the standard structure of Webwork problems in the template. There are five sections to a Webwork problem:
    • Tagging and description section – describes the problem
    • Initialization section – loads required macros for the problem
    • Problem setup section – sets variables specific to the problem
    • Text section – gives the text that is shown to the student
    • Answer and solution section – specifies how the answer(s) to the problem is/are marked for correctness, and gives a solution that may be shown to the student after the problem set is complete
  9. When you've completed your edits, click the New Version tab, rename the file, and click Take Action! to save.

Tips

Create Webwork quizzes and exams

Webwork quizzes and exams are created from homework sets. You'll first need to make a homework set, then you'll turn it into what's called a gateway quiz.

  1. From your Canvas course, access your Webwork course homepage, and click Hmwk Sets Editor in the navigation.
  2. To create a new homework set, click the Create tab.
  3. Enter a name for the set and click Take Action!. The name of the set can include a-z, A-Z, 0-9, and dashes (“-”), but please note it cannot have other invalid characters, such as question marks.
  4. Click the number under the "Edit Problems" column next to the set.
  5. Under the "General Information" section, choose the assignment type gateway/quiz or proctored gateway/quiz, then click Save Changes.
    • Proctored quizzes require students to enter a password. Once you save the proctored gateway/quiz type, enter the password under “General Information”, and share it with students once the quiz/exam is scheduled to open.
  6. Set the due dates, description, and any other parameters, then click Save Changes.
  7. Add publicly available problems or custom problems to your quiz or exam, then assign it to your students by following the instructions in the previous accordion for making or editing homework sets from publicly available problems.

Copy homework sets between Webwork courses

You can export homework sets from one course and import them to another in order to copy problems between Webwork courses. The sets will also copy whether you've assigned them as homework or quizzes.

  1. From any Canvas course where you have enabled Webwork, access Webwork and go to the Webwork course homepage you want to copy from.
  2. Click Hmwk Sets Editor in the navigation, and click the Export tab.
  3. From the drop-down menu for “Prepare which sets for export?” at the top, choose selected sets.
  4. Click the checkbox beside each set you want to export.
  5. Click Take Action!, and if the selected sets are correct, click Take Action! again. This action will make copies of the selected set(s) in your file manager.
  6. Click File Manager in the navigation. In the list of files, the file names will use the structure setYour_Set_Name.def, where the name of your set replaces the italicized letters. Select the file(s) for the set(s) you exported, and click Make Archive. This action will combine the copy(ies) for your set(s) into one downloadable file called an archive.
  7. You will see a message saying the archive has been created. In the list of files, select the name of your file ending in “.def” (not “.def.tgz”), and click Download to save the archive on your computer.
  8. Go to the Webwork course homepage you want to import problems to, and click File Manager in the navigation.
  9. Click Choose File or Browse (depending on your web browser), and select the file you downloaded. The file you upload should end with file type “.def”.
  10. Click Upload. This action will add all the set(s) you exported from the first course into this course, but they still need to be imported.
  11. Click Hmwk Sets Editor in the navigation, and click the Import tab.
  12. Since you will be uploading one file with any number of sets in it, select multiple sets from the “Import how many sets?” drop-down menu. Pick the name of the file to import, and adjust any other settings.
  13. Click Take Action! to add the homework set(s) to the course.

Set up grade syncing between Webwork and Canvas

For grades to sync properly between Canvas and Webwork, you will need to set up individual links in Canvas to each homework set, quiz, or exam you create in Webwork. Each student must click each Webwork link in Canvas to establish the connection between their Canvas Gradebook entry and their work in Webwork.

If you don't want grades to sync from Webwork to Canvas, this setup is not required.

  1. Log in to your Canvas course, and click Assignments in the Course Navigation.
  2. Click the +Assignment blue button in the upper right side of the screen.
  3. Enter the assignment name as you want students to see it.
  4. Scroll down to "Submission Type" and select External Tool from the drop-down menu.
  5. Even if you know the URL, click Find. (Entering the URL directly will not sync properly with Canvas.)
  6. From the list, pick Webwork and click Select.
  7. At the end of the Webwork URL that appears, add “?set=assignment_name” using your homework set name or quiz name in place of the italicized letters.
  8. Click the “Load This Tool In A New Tab” checkbox. This option allows grades to properly sync with Canvas.
  9. Save & Publish the assignment. (Students can only access published assignments.)
  10. Click to Load the assignment in a new window to initiate the grade sync.

Tips

  • Make sure you click each Webwork assignment link in Canvas (step 10) at least once to enable the grade sync for that assignment. Grades will then automatically sync at least three times a day from Webwork to Canvas.
  • You can also manually sync the grades between Webwork and Canvas:
    • In Webwork, click "Hmwk Sets Editor" in the navigation, and then click the "LTI" tab.
    • Select the homework set or quiz you would like to sync grades for.
    • Click "Take Action!" to manually sync the grades.
  • Webwork will sync grades for any student attempts that score higher than 0. Student scores of 0 will remain blank in the Canvas Gradebook, which may reflect that the student has not attempted any answer or has answered incorrectly for all questions.

Review student progress and submit for students in Webwork

You can view how students are doing in the progress section of Webwork.

  1. From your Canvas course, access your Webwork course homepage, and click Student Progress in the navigation.
  2. Click the desired assignment or student you'd like details for.
  3. If you know a student is having problems submitting and have confirmed they have not been able to submit, please contact us in the LT Hub to enable your ability to submit on the student's behalf. This feature needs to be requested on a course-by-course basis.

Export grades from Webwork

If you are not syncing grades with Canvas, you may find it helpful to export grades from Webwork to use in a spreadsheet.

  1. From your Canvas course, access your Webwork course homepage, and click Scoring Tools in the navigation.
  2. Select the assignment(s) with grades you wish to export.
  3. Uncheck all four checkboxes.
  4. Click Score selected set(s) and save to.
  5. Below "Totals", you'll see a link to a CSV file. Click the link and save this file to your computer.
  6. Open the CSV file that you downloaded in a spreadsheet software like Excel to view and sort the data.

Tips

  • You can sort the results by columns such as section number to organize the data more meaningfully for review. If you're using Excel, follow the instructions for sorting Excel data.
  • You can change the name of the results file before you download it, to better organize your files. After step 3, use the textbox beside the “Score selected sets and save to” button to change the name.

Where can I get more support with Webwork?

Technical support

If you have trouble with Webwork:


Pedagogical support


Student support

Learn more

  • For more how-to instructions, explore the UBC Webwork Wiki or Webwork’s instructor guide.
  • Webwork is an open-source tool originally developed and supported by the Mathematical Association of America and the U.S. National Science Foundation.

« See all tools