This page is not maintained. It may have outdated information.

Please visit WeBWorK for Faculty for more up to date information.

For now, this page will be left here until we assess that there is nothing more that should be preserved and migrated to that other page.


To Request a course shell for WeBWorK

Send an email to with the following information.

  • What term is the shell for? (If not associated to any term, say so. But such situations should be rare.)
  • What course number? (e.g. MTH 60. If not associated to a specific course number, say so. But such situations should be rare.) You may want to note that we have default homework sets available for MTH 20, 60, 65, 95, 111, and 243. For other courses, we may have something useful as well.
  • What is your G number?
  • If you have multiple sections of one course, do you want separate WeBWorK shells? If so, please list all the CRNs.
  • If you want to manage all the sections through a single WeBWorK shell, then please explicitly say so.  (When you manage more than one course through a single shell, you can still manage separate due dates, etc. However you need to learn a little more about the Instructor Tools.)
  • Is/are there an existing course shell(s) that you would like cloned? Cloning will always copy your "course info" panel. To copy problem sets, you should export them (using the Hmwk Sets Editor) before the cloning happens. Please provide names of any shells to clone (e.g. mth111-jordan-201604). If you forget to export problem sets first, you can still export them later, download them, and upload them into your new course.
  • If you would just like default course shells, with default course information panels, please explicitly say so.

Setting up your course

Once you log in to WeBWorK there is a link to an almost comprehensive user guide in the lower left. (Click "Help", then click to download the guide.) You can either use this as a reference or work through it linearly if you are brand new to WeBWorK. In any case, here are some things you should probably do at the beginning of a term:

  • Edit the Course Info panel so it's specific to your course. (It's on the right when you log in.)
  • Change some Course Configuration options if you want to.
    • Show Total Homework Grade on Grades Page? The grades page for students will show a grand total grade where every problem from the course has the same weight regardless of which set it came from. If you use assignments of varying lengths and you weigh each assignment the same in your own grade book, then this grand total is not relevant to a student's final grade, and you can hide this.

    • Enable Course Achievements? Read about Achievements in the bullets below. If you don't plan to use them, disabling them is recommended.

    • Enable Conditional Release? For example, make Assignment #2 not be available until a student has 80% on Assignment #1. Each set gives options for controlling conditions.

    • Enable Reduced Scoring? For example, make an assignment due Friday, but problems submitted Thursday or later only get 80% credit.

    • Enable Show Me Another? Gives students a button to generate new versions of a problem for practice. Be sure to set all of the options as you like. Then, within an assignment, you may further adjust how many attempts it takes to activate the button. For example for certain multiple choice questions, you may want to require infinite attempts before SMA can be used on that question. For the purposes of these parameters, infinity = -1.

    • Enable periodic re-randomization of problems? You can set this so that, say a student gets a problem wrong 5 times in a row, then the problem they are assigned will re-randomize.
    • Enable MathView? This is an equation editor. An icon next to each answer blank activates a palette. It is disabled by default until some known bugs can be addressed.

  • Activate Achievements. Achievements have been documented to positively motivate students to complete homework. We recommend that you use them, but it's up to you. The steps to activate achievements are laid out better in the User Guide, in the section on Gamification.

  • Either import or construct problem sets as described in the user guide.

Managing multiple sections from within one WeBWorK course

When you import students, be sure to follow the User Guide instructions, especially with column F. You are free to either import one section at a time, or build one giant spreadsheet file with all your sections represented (but distinguished using column F).

Once you have activated homework sets, if you would like some sections to have different due dates than others, proceed as follows.

  • Go to the Instructor Tools menu. (This menu is on the left. It may appear that it is a header for the tools which follow, but it is a menu itself.)
  • In the Users panel, use the Filter and the Change Display Settings Button to specialize to one or more of your sections.
  • Select one problem set. (This is the only frustrating part of this process—you must do this one set at a time. In the future there will be a more efficient method.)
  • Scroll down to use the "Edit one set for users" button to change the "Answers Due" and "Answers Available" dates.
  • After clicking Save Changes, I typically hit backspace twice to back up to the page where I can move on to the next set, and repeat.

If you use WeBWorK to email students (which is handy when you want to email all of your sections at once, or if there are network problems with accessing MyPCC), you can filter which sections you will be emailing.

Integration with Brightspace (aka D2L)

If you use D2L Brightspace, there are two integration features with WeBWorK that you may want to use.

Single Sign-On

You can set up links from within your D2L Brightspace shell to places within your WeBWorK shell. And then students don't have to enter a WeBWorK password if are already coming from D2L Brightspace.

Additionally if a student accesses WeBWorK from D2L Brightspace, you do not need to enroll that student into your WeBWorK course. Their WeBWorK account will be created the first time they enter WeBWorK via D2L Brightspace. At that moment, all visible homework sets will be assigned to that student. So you could enroll nobody into your WeBWorK shell and that would be fine if you have links from D2L Brightspace. (Or, you can enroll students and that will be just fine; it won't interfere with the single sign-on.)

Students can still go directly to the WeBWorK shell from its url, bypassing D2L Brightspace. However, if their account WeBWorK was automatically created (as described above) then they will have no password, and may be confused/frustrated if their MyPCC password does not work. You can remedy this by assigning them passwords in the Classlist Editor. It won't interfere with the single sign-on.

For steps (in video or written form) for working this way, visit


  • If you copy a D2L shell from one term to the next, the links to WeBWorK will still be to the older WeBWorK course. You need to Manage External Learning Tools to update the link address.
  • Managing which assignments are assigned to which students is your responsibility. If their WeBWorK account is created because they first accessed WeBWorK through D2L Brightspace, then at that moment they will only be assigned the assignments that are visible.
  • Have a plan to assign passwords to users for whom the WeBWorK account was automatically created.
  • Be aware that you might have a student who doesn't even visit WeBWorK until late in the course. So anything that you do early on regarding assigning passwords or assignments may need to be repeated for latecomer students.
  • Technically, anyone who manages a D2L shell could follow the steps from the link above and use address for your course. They would only be able to enter your course from the student perspective though.

Disabling These Features

In your File Manager, navigate up one level and click to edit the course.conf file. You can add lines to the end of the file as described below to disable things. (If you see "1;" at the end of the file, put the new lines before the "1;". Otherwise it's fine on the very last line.)

To turn off access to the WeBWorK course from its url (to force D2L-only access), add:


To turn off the ability to enter your WeBWorK course from D2L Brightspace at all, add:

$authen{user_module} = [
        {  "*" => "WeBWorK::Authen::Basic_TheLastOption",}

Grade Passback

WeBWorK will send grades data back to D2L Brightspace to be incorporated in your gradebook. By default, WeBWorK will send back a single score for the entire WeBWorK course. If the course has 1000 problems and the first assignment has 20 problems, then the score will be 2%. It does not matter how many problem sets there are. (For set-by-set passback, see below.)

All you have to do for this is that at least once, someone should visit WeBWorK from the D2L Brightspace link. You'll probably do that as you are setting up your shell. Then, as soon as someone submits an answer to a WeBWorK question, a column will appear in your D2L Brightspace grades table with the single score for the course.

At present, grades are returned upon every click of Submit. This will be revisited if it proves to be a drain on the server. Additionally, ever 24 hours an additional passback happens to capture any manual score changes you make to a student's score.


  • A student might get 100% on the first assignment but see 2% in their D2L Brightspace grades. If they do not understand the grade is for the whole course, this could cause concern.
  • Let the due dates and visibility dates be managed entirely by WeBWorK. You will cause confusion if you put release restrictions on your links from the D2L Brightspace course.

Disabling Features

In the course.conf file, as described above, add this line to disable grade passback altogether:

$LTIGradeMode = "";

If you want to keep the column in your D2L grades table, but hide it from students, see the instructions at

Set-by-set grade passback

It's possible to have WeBWorK send grades for each set in your course, so that your D2L grades table ends up with a separate score for each assignment. However you need to be on your toes to have it work right. Add the following to the course.conf file, as described above.

$LTIGradeMode = "homework";

Here are the issues with this:

  • You need to create separate External Learning Tools for each problem set, and have their links point specifically to the problem set. For example, to (Contrast this with not using set-by-set grades. In that case you make one External Learning Tool, most likely pointing to the WeBWorK course's main page, that you can use in multiple places in your D2L Brightspace course.)
  • Just as with all the WeBWorK-D2L integration, when a D2L shell is cloned from one term to the next, you will have to change all of these addresses. (You have to only change one if you are not using set-by-set grades.)
  • A student has to access a problem set from the specific D2L link the first time they access that set. (Afterward, they can access it from other places within the WeBWorK course.) So if a student uses the D2L link to get to Assignment1 and completes Assignment1, if they try to move directly to Assignment2 they will get a message telling them to go back to D2L Brightspace and access Assignment2 from its link.
  • Because of this last reason, it is recommended that you turn off backdoor access if you are using set-by-set grade passback.
  • As mentioned before, let the due dates and visibility dates be managed entirely by WeBWorK. You will cause confusion if you put release restrictions on your links from the D2L Brightspace course.

Archiving of old courses

Consider three consecutive terms A, B, and C.

At the beginning of term C, the courses from term B are hidden. This changes nothing about their functionality; it just removes them from the list of courses at These courses can still be accessed by going directly to their url.

Also at this point, the courses from term A (which are already hidden) are archived. This means that all of the files from that course and all of the data from that course's section of the database are compressed into a single file for storage. Then the course itself is deleted. An archived course can always be restored upon request. The reason that we archive these courses is to constrain web traffic to courses from current and very recent terms.

If you have any reason to prevent a course from being hidden or archived, or if you would like a course to be unhidden or unarchived, send an email to

  • No labels