Science:Math Department Teaching Resources/WeBWorK

From UBC Wiki
Jump to: navigation, search

Most courses in the Math Department that incorporate an online homework system use WeBWorK.

The instructions listed below were developed by CTLT and CWSEI-Math, and include links to the official MAA WeBWorK site.


WeBWorK is a free open-source online homework system for mathematics and science. It is developed and supported by the Mathematical Association of America (MAA) and the US National Science Foundation (NSF). It features:

  • LaTeX support
  • automatic grading
  • randomly generated numbers and functions within problems
  • numeric and/or symbolic responses in problems
  • enables instructors to either author their own problems, or download them from the National Problem Library

Below is a screenshot of a question in WeBWorK.


WeBWorK at UBC

Supported by the Centre for Teaching, Learning and Technology (CTLT), WeBWorK is integrated with the course management system Connect, which provides self-provisioning and roster synchronization.

Using Connect is not a requirement for using WeBWorK in your course. Instructors who wish to use WeBWorK are required to use Connect only during the initial set-up phase. Once the set up is complete, instructors can continue to use WeBWorK without Connect.

Getting Started in WeBWorK

Below is a list of basic tasks for instructors to run and manage online homework in WeBWorK.

How to set up WeBWorK for your course

Each course has its own WeBWorK site, which is set up by the instructor at the start of term. Depending on the type of course, the instructor can set up a WeBWorK site directly through Connect, as described below.

  • Single-section course: Login to Connect with your CWL and follow these instructions to create your WeBWorK course.
  • Multi-section course: Each instructor can set up a WeBWorK site specific to their section. If homework is shared across sections, however, it is strongly recommended to set up a merged WeBWorK site common to all sections. While both merged and non-merged configurations have limitations (more information on the pros and cons of merged vs non-merged WeBWorK courses are available here), the merged set up is more efficient and easier to manage.
-To set up a section-spefic WeBWorK site, follow the instructions for single-section courses.
-To set up a merged WeBWorK site, the instructor in charge of the course must contact the Connect instructional support staff at CTLT (Rachel Petrynko, and request to have all course sections merged in Connect first. Once the sections are merged in Connect, the instructor in charge can create a common WeBWorK site by following these instructions.

Note for Instructors: If you set up a merged site for your multi-section course, WeBWorK does not automatically load section information for the students. If later in the term you need to sort students by section or make section-specific changes to an assignment, you need to enter the section information in WeBWorK manually. Instructions on how to do this are posted here.

Once your site is ready, you (and your students) can access WeBWorK either from Connect or the UBC WeBWorK main page. Note that in WeBWorK class lists are generated and updated automatically.

How to give TAs and other colleagues access to your WeBWorK course

While it is possible for instructors to manually add a new user (a TA or another instructor) in WeBWorK, because of the syncronization with Connect it is recommended that new users are added to WeBWorK via Connect. To add a new user to your course in Connect, please contact the Connect instructional support staff at CTLT (Rachel Petrynko, Once the person is added to Connect, the information will be transfered to WeBWorK automatically within a few hours. The person will have access to both Connect and WeBWorK.

Instructors needn't worry about adding students to their WeBWorK course. In WeBWorK class lists are generated automatically, and updated regularly. Students who join the course late are automatically added to the system within 24 hours of their course registration.

How to create a homework assignment in WeBWorK

Creating a problem set is the key step in developing homework in WeBWorK. While only a few instructors write their own problems in WeBWorK, most generate problem sets by selecting questions from the National Problem Library or other local libraries.

If you want to create a problem set by selecting questions from existing libraries, the basic process will be:

  1. create an (empty) set
  2. select problems from the library
  3. update your set by adding the selected problems
  4. make edits to your set (reorder problems, change number of attempts, etc.)
  5. edit the open and close dates of the set
  6. make the set visible to students (default setting)
  7. assign the set to your students

Detailed instructions on how to perform steps 1-6 are posted on the WeBWorK Wiki developed by the MAA.

More information on step 6 are given below.

How to assign a problem set to your students in WeBWorK

Once you have created a problem set and made all the necessary edits to it, you must assign it to your students, otherwise they will not be able to see it.

Once a student is assigned to a problem set, the link to the set will appear in the student's WeBWorK homepage. If the set has been assigned before it opens, the student can see the problems, but not submit an answer. The "Submit" button will appear only after the open date of the set.

To assign a homework set to students, please follow the instructions posted on the WeBWorK Wiki developed by the MAA.

Note for Instructors: If, after assigning a set to your students, you change its default setting from being "Visible to students" to not being visible, the students will see the set listed in their WeBWorK homepage but they will not be able to acccess the individual problems. While this may allow for some last minute changes to a problem set, please be aware that making a set invisible to students after assigning to your class affects the automatic user-assignment process in WeBWorK. Once a set is assigned to students, WeBWorK automatically assign any new student joining the course to that particular set if the set is made visible to students. The students who join the course between the time you assign the homework set and the time you make it visible will not get automatically assigned to that set.

How to modify an existing problem

Here is a short tutorial on how to make small edits (text only) to an existing problem.

How to extend the due date for individual students

If you wish to grant an extension on a particular homework assignment to a single student, it is possible to change the assignment due date only for that student without affecting the rest of the class.

To extend the due date of a homework set for an individual student, follow these steps:

  1. Click on Classlist Editor on the left under Main Menu/Instructor Tools.
  2. Select the first action, Show users who match: [type in your student's last name or st number] and select [either Last Name or Student ID, depending on what information you have entered in the previous field].
  3. Click the "Take Action!" button. A list of students matching the information you entered will appear.
  4. Scroll down to the row corresponding to your student and click on the fraction in the 4th column from the left. This will take you to the list of assignments assigned to that particular student.
  5. For the assignment you wish to extend, select "Due" and enter the new due date. Make sure you use the correct date format.
  6. Click "Save Changes" at the end of the page.
  7. You can check that the due date for that particular assignment has been changed correctly for the student by clicking on Homework Sets on the left under Main Menu. You will see the list of assignments and the corresponding due dates of those that are still open.

How to block emails from the "Email Your Instructor" button

Every WeBWorK problem has an "Email Your Instructor" button that students can use to ask questions or report bugs on that problem. This is a useful feature to provide feedback to students, but it could generate a large number of emails, especially in a multi-section course using a merged WeBWorK site, where instructors would receive messages from potentially all students in the course, not only their section. In this case, it is recommended to assign a TA to answer these emails.

To block emails generated through WeBWorK,

  1. Go to Course Configuration.
  2. Click on "Email" on the top horizontal menu.
  3. Delete any email address in the field corresponding to "E-mail addresses which can receive e-mail from a pg problem" (third row).
  4. Select "nobody" from the drop down menu on the right end side in the fourth row.
  5. If you want to re-direct emails to a TA, enter the TA's email address in the field corresponding to "Additional addresses for receiving feedback e-mail" (fifth row).

Note for Instructors: Do not delete your email address from your WeBWorK user profile in order to block emails generated through WeBWorK, otherwise the WeBWorK support staff will not be able to notify you about system upgrades and other emergencies.

How to download homework scores from WeBWorK

WeBWorK automatically scores each assignment and calculates the total score on selected assignments for each student. Instructors can select which assignment to include in the final scoring and can download scores at any time during the term.

To download homework scores from WeBWorK, go to the Scoring Tools. Highlight all the assignments you want to score and press the "Score Selected Set(s)" button. The scoring procedure creates files in .csv format. To download the file click of the link below the heading "Totals". Make sure you select "Record Scores for Single Sets" if you wish to download scores on individual assignments in addition to overall averages.

How to export your problem sets at the end of the term, or move sets between courses

All WeBWorK sites are hidden from the web at the end of the term, and completely archived by the end of the following term. Archived WeBWorK courses (content and data) are stored by CTLT. If you want to retrieve your old WeBWorK course, please contact the WeBWork support staff at CTLT at

If you want to keep a record of your WeBWorK problems on your computer, you can export problem sets directly from WeBWorK before your site is archived. Please see instructions on how to export sets on the WeBWorK Wiki developed by the MAA.

How to get started at authoring problems in WeBWorK

A locally-produced document for getting started is this manual, which includes examples and links:

UBC Math WeBWorK Manual

It was written by Tyler Woodbury, a summer student of Mark MacLean in 2010.

For more in-depth documentation on WeBWorK, see the MAA website at

Recommendations for instructors: How to incorporate WeBWorK effectively in your course

(under development)

Literature about WeBWorK

If you are interested in reading how WeBWorK has been used in undergraduate math courses at other institutions, you may also want to read:

  • Vicki Roth, Volodymyr Ivanchenko, Nicholas Record.Evaluating student response to WeBWorK, a web-based homework delivery and grading system. Computers & Education, 50, 1462-1482, 2008
  • Jane Korey, Kim Rheinlander, Dorothy Wallace. Open Calculus: A free online learning environment. Journal of College Teaching & Learning, 4(12), 71-80, 2007

WeBWorK support