WeBWorK for faculty

This content is intended to help faculty at PCC with using WeBWorK. Some details are specific to PCC’s WeBWorK server, PCC’s instance of Desire2Learn, etc. However, WeBWorK-using faculty at other institutions may find these materials useful too.

To Request new WeBWorK course shells

To request a new WeBWorK course shell:

If you need to contact someone for some other reason about hosting a course on the PCC WeBWorK server, contact webwork-group@pcc.edu.

First steps to take with a new WeBWorK course

Once you have a new WeBWorK shell, there are some first steps you might take to set up the course for your needs.

WeBWorK First Steps video

The following is a rough written description of what is done in the video.

  1. Visit Course Configuration, General tab, to edit course title.
  2. Visit Account Settings to change your first and last name, password, email address, and display settings.
  3. From the Assignments page (main landing page) click to Edit the Course Info panel. You can add plain text or HTML content. If you leave the default “Put information about your course here. Click the edit button above to add your own message. ” then students will see no Course Info panel at all.
  4. Return to Course Configuration, visit all tabs, and configure your course as you like. Of special note:
    • Theme for the general color scheme.
    • Timeout for inactivity defaults to 9000 seconds (2.5 hours) on our server. If you will give tests where the time limit is longer, and it’s possible a student would be on one screen for more than 2.5 hours, then you should make this longer.
    • Achievements are enabled by default. But note they are not necessarily activated. You would use the Achievement Manager to import and assign them.
    • Reduced scoring allows you to set windows of time where students can still submit answers but they only receive some portion of the credit.
    • Show Me Another allows students to interact with alternate random versions of their assigned exercises. Depending on how you configure it, students may be granted access to answers and walk-through solutions to these alternate versions. Just note that an exercise must have a walk-through solution coded in the first place for students to see that, and not all WeBWorK exercises have that.
    • In the Permissions tab, it is not advisable to allow students to change their own email addresses.
    • Occasionally a PCC instructor has set “allow to see correct answers/solutions before the answer date” to “student” and then later been surprised that students can see answers before their due date. I’m not sure how this happens, but it may be a setting that is propagating through some shells. Make sure you have these set the way you want them set.
    • MathQuill is the feature that auto-formats math as a student types it. It is enabled by default, but you could disable it in the Problem Display/Answer Checking tab.
    • In the LTI tab, once your course is set up the way you want to and you have integrated it into your D2L course, you may want to toggle the setting that requires all users (including yourself) to enter the WeBWorK course from D2L.

Importing the Student Orientation

WeBWork 2.19 (and beyond, most likely) comes with a “Student Orientation” set that you can assign to students, to introduce students to the features and structure of WeBWorK. Your particular course should have access to it, but might not, if your course was copied from an old course. To import this set:

  1. Go to Sets Manager, Import tab.
  2. For “Import from where?”, select “Student_Orientation/setStudent_Orientation.def” from the dropdown list. The list is ordered in a funny way, first by depth (the number of subfolders needed to reach the file) and then alphabetically. If you don’t find it, try typing “stu…” with the dropdown list open. If it’s really not there, contact your WeBWorK administrator.
  3. For “Assign this set to which users?”, select “all current users”.
  4. Click the Import button.
  5. Visit Sets Manager to adjust the dates.

Integrating WeBWorK into a D2L course that has no prior WeBWorK connection

We encourage you to set up a connection from your D2L course to your WeBWorK course. At some time in the future, this may be required (because we may retire direct username/password access to WeBWorK courses).

For a D2L course that does not have a prior connection to a WeBWorK course (in particular, the D2L course was not cloned from a previous D2L course which had its own LTI connections to WeBWorK):

D2L and WeBWorK with LTI 1.3 video

The following is a rough written description of what is done in the video.

  1. The landing page of your D2L course is something like online.pcc.edu/d2l/home/NUMBER. Identify that number. Then in your WeBWorK course, go to Course Configuration, LTI tab, and save that number as the “LMS Context ID”.
  2. Also on the LTI tab:
    • You can select which grade passback mode you would like to use. “Homework” makes it so that each assignment’s score will be passed to the D2L grade book. “Course” means there is only one overall WeBWorK score that will be passed back. Note: setting things up initially using one of the grade passback modes, and then switching to the other grade passback mode, there will almost certainly be issues to clean up in the D2L course. So it is good to intentionally choose your grade passback mode early. There is a separate section and video on this page about grade passback. You may want to read/watch that before continuing.
    • You can set it so that all users can only access your WeBWorK course via D2L. We recommend that you leave this off while you are still setting things up. But once your D2L and WeBWorK courses are connected, that you return here and set this to True.
    • You can control whether or not user data from D2L will be used to automatically update user data in WeBWorK. While this would automatically catch student name changes, there are down sides and we recommend that you leave this off.

The steps that follow are just one way to set everything up. It’s not required to follow these steps to the letter, but if you are not already familiar with everything, following these steps to the letter will work.

  1. In WeBWorK, initialize/import your assignments. If the dates are not settled yet, that is OK. If you add assignments later, that is also OK but you may need to revisit the steps that follow and make adjustments.
  2. Create a module and name it “All WeBWorK Assignments”. This module will have links to each and every one of your WeBWorK assignments. If you think this would be good for students to access, leave it visible. Otherwise you can click the eye icon to toggle its visibility.
  3. While in the “All WeBWorK Assignments” module, click “Existing Activities” and choose “WeBWorK Assignments”. Select all of the WeBWorK assignments, and click “Submit Choices”.
  4. Elsewhere in your D2L course, you may want to place links to your WeBWorK assignments. To do that, go to such a module. Click “Existing Activities”. But this time select “External Learning Tools” (not “WeBWorK Assignments”). Choose the assignment you would like a link to (and repeat if needed). You may want to rearrange the order of the items in your module now.
  5. Return to the “All WeBWorK Assignments” module. Once again use the “Existing Activities”, “WeBWorK Assignments” tool. This time select the item at the top called “WeBWorK Assignments”, and click “Submit Choices”. Now there is an additional LTI link to the WeBWorK landing page (as opposed to individual assignments).
  6. Decide if you want a link to WeBWorK directly in your navbar, or if you want one in the “Links” tool within your navbar. Or both.
  7. For a “WeBWorK” link in your navbar, it may or may not be allowed depending on PCC’s control of your navbar. Assuming it is allowed…
    • Hover your mouse over your navbar to see the “…” menu. In this menu, select “Edit This Navbar”.
    • Click “Add Links”. Click “Create Custom Link”.
    • Enter a name (probably “WeBWorK”).
    • Instead of entering a URL, click the Insert Quicklink button. Choose “External Learning Tools”, and then select the “WeBWorK Assignments” LTI link that was created recently.
    • Enter a description, something like “Use this to log in to WeBWorK.”
    • Click “Create”, then click “Add”.
    • Reposition the new “WeBWorK” navbar button if desired.
    • Click “Save and Close”
  8. To add a link to WeBWorK within “Links”:
    • Click the Links item in your navbar.
    • If you do not already have a category under which you will place a WeBWorK link, use the “New Category” button to create a category.
    • Click “New Link”. Select a category and give the link a name (probably “WeBWorK”).
    • Instead of entering a URL, click the Insert Quicklink button. Choose “External Learning Tools”, and then select the “WeBWorK Assignments” LTI link that was created recently.
    • Enter a description, something like “Use this to log in to WeBWorK.”

Setting up grade passback to D2L

By default, grades are passed back from WeBWorK to D2L, but it is important to understand some things about how this works. You can also disable grade passback. Note: setting things up initially using one of the grade passback modes, and then switching to the other grade passback mode, there will almost certainly be issues to clean up in the D2L course. So it is good to intentionally choose your grade passback mode early.

Grade Passback with WeBWorK and D2L video

The following is a rough written description of what is done in the video.

“Homework” Grade Passback
  1. In the WeBWorK course, confirm that that in the Course Configuration, LTI tab, that the grade passback mode is set to “Homework”.
  2. There is a step where you use “Existing Activities”, “WeBWorK Assignments” to create LTI links to each of your WeBWorK assignments. You may have already done this. Doing this creates a grade column in your D2L Grades page for each WeBWorK assignment.
  3. From the Grades page, click “Manage Grades”. From here you may want to do several things.
    • Create a category under which you can place all of the WeBWorK assignment grade items.
    • Make decisions about how to weight these assignments into a student’s overall grade for the course.
    • Reorder grade items and categories.
    • Edit each WeBWorK assignment grade item to provide a “Short Name”.
  4. Somewhere in your D2L course, you placed links to the WeBWorK assignments. You (or one of your students) must actually use each of these links one time for the last step of initialization for grade passback to work. It is enough for any one user to do this once, but it must be done for each assignment link. We recommend that you do this yourself before the course starts.
  5. Grades are only passed back once an hour, and even then an hours must pass and then some user (any user) must take an action (any action) in the WeBWorK course before the grades will be passed back. However you can force a more immediate grades update using the “LTI Grade Update” tool in the WeBWorK course. During periods of high activity, it might still take a few minutes. You can monitor the progress of this update using the “Jobs Manager” tool (refreshing that page as needed).
“Course” Grade Passback
  1. In the WeBworK course, confirm that that in the Course Configuration, LTI tab, that the grade passback mode is set to “Course”.
  2. There is a step where you use “Existing Activities”, “WeBWorK Assignments” to create an LTI links to the main landing page each of your WeBWorK course. You may have already done this. Doing this creates a single grade column in your D2L Grades page for WeBWorK.
  3. From the Grades page, click “Manage Grades”. From here you may want to do several things.
    • Move the WeBWorK Assignments grade item, either reordering or placing it within a category.
    • Make decisions about how to weight this assignment into a student’s overall grade for the course.
    • Edit the WeBWorK Assignments grade item to provide a “Short Name”.
  4. Somewhere in your D2L course, you placed a link to “WeBWorK Assignments”. Actually use this link one time for the last step of initialization for grade passback to work.
  5. Grades are only passed back once an hour, and even then an hours must pass and then some user (any user) must take an action (any action) in the WeBWorK course before the grades will be passed back. However you can force a more immediate grades update using the “LTI Grade Update” tool in the WeBWorK course. During periods of high activity, it might still take a few minutes. You can monitor the progress of this update using the “Jobs Manager” tool (refreshing that page as needed).
  6. In “Course” grade passback mode, when a grade is passed back, it is a decimal score that has been rounded to four decimal places. This decimal is calculated with a numerator and denominator. The denominator is the total point value in WeBWorK for all sets which are published/visible and have already passed their open date. The numerator is the student’s total point score on those sets. By default, the D2L grade item was created with 100 points, and this decimal will be applied to that for the D2L score. You may edit the D2L grade item if you would prefer a different point total, and the decimal will be applied accordingly.
  7. Students will often see a “low” score for their WeBWorK grade in D2L. This is because the denominator uses sets that have already opened. But the student may not have even tried the assignment yet. In fact you might have the due date for an assignment far in the future, and there is no reason a student should have tried that assignment yet. But this grading scheme counts their score as 0 for now. To address this, you could try to explain it to students. Alternatively, you can go to Manage Grades and hide this grade column so that you still see it, but students do not. Either way, you can tell students to visit Grades in the WeBWorK course to see their accurate scores for each assignment.

Updating a D2L course to use a new WeBWorK course

For a D2L course that does have a connection to an old WeBWorK course (typically a D2L course with content copied from some prior term):

Adjust a D2L course whose WeBWorK links were copied from an old course video

The following is a rough written description of what is done in the video.

If your D2L course has existing WeBWorK links that use LTI 1.1 (Legacy)

This is the case if your D2L course was copied from a course older than Summer 2024, and possibly if it was an actual Summer 2024 course.

  1. In D2L, visit Course Admin. Go to External Learning Tools. Click on the “Manage Tool Links (Legacy)” tab.
  2. Delete each WeBWorK-related link that you see there.
  3. Visit Content areas in your course where you had placed links to WeBWorK. They should be gone, but if not, now the links are broken and you should delete them.
  4. If you had something like a “WeBWorK” button in your navbar, use the navbar editor to delete that button.
  5. Go to Grades, then Manage Grades, and delete any grade items that you might have had that previously used grade passback with the now-deleted LTI 1.1 WeBWorK links.
  6. At this point, your D2L course should be scrubbed clean of WeBWorK links, and you can follow a different section/video on this page for how to set up LTI 1.3 links to WeBWorK.
If your D2L course has existing WeBWorK links that use LTI 1.3 (Advantage)

This is the case if your D2L course was copied from a course newer than Summer 2024, and possibly if it was an actual Summer 2024 course.

  1. In D2L, visit Course Admin. Go to External Learning Tools. Stay on the “LTI Advantage” tab.
  2. One at a time, click on the WeBWorK LTI links (the actual text of the link, not the adjacent dropdown menu). There is a place where you can edit the URL. Change just the part with the WeBWorK course name to use your new WeBWorK course’s name. For example, changing “mth095-alex_jordan-202403” to “mth095-alex_jordan-202404”. Save the change, and repeat this for all WeBWorK-related links. This could be tedious and frustrating depending on how many of these you have.
  3. Don’t miss a few that may have a different name structure than most of them have, like “Student Orientation” and “WeBWorK Assignments”.
  4. Once all are changed, do quality control to make sure you correctly changed them all.
    • Go to your “All WeBWorK Assignments” page in Content.
    • Open all of the WeBWorK links in a new tab. An easy way to do this is with Windows, hold Ctrl and click the link, and with a Mac, hold Command and click the link. Each time you do this it will create a new tab with a D2L page in it, and another new tab with the target WeBWorK URL loaded. Click through so that all of the LTI 1.3 links have been opened in new tabs.
    • Close all of the tabs that this process opened where it’s just a D2L wrapper page.
    • One tab at a time, put eyes on the URL and check the WeBWorK course address is your new WeBWorK course. Close each tab as you verify it is correct.

    This is not only for quality control. If you are using grade passback, this is necessary to initialize things in the WeBWorK for grade passback to function later.

  5. Now all of the WeBWorK links and grade items should be functioning based on your new WeBWorK course.

Manually adding students to a course

This older video covers how you can import a course roster to initialize student accounts. This is not needed if students enter WeBWorK through D2L. Starting Fall 2024, we strongly encourage you to set up integration with D2L, so for PCC faculty, this approach should not be needed.

But this video is still here as a reference for other institutions. Note: A few important things have changed since this video was made. The “Classlist Editor” is now called the “Accounts Manager”. And in the Import tab, you must actively select what behavior you would like for students’ initial password. If you do not, their accounts will be created with no password set. If that happens, you can then use the Edit tab to assign each student a password.

WeBWorK Add Delete Students video

The following is a rough written description of what is done in the video.

  • Import students from a PCC course roster (but see the “Note” above)
  • Add individual students one at a time (but similarly, now needs you to actively select the default password source)
  • Remove/drop a student

Importing assignments

Assignment data (which exercises to use, how much weight for each one, etc) are stored in files called “set definition files”. If you actually want to use an assignment from a set definition file, you must import it first. Your course has access to set definition files stored in a variety of places, organized in a variety of ways.

To simply view the exercises in the set definition files that you have access to, visit the Library Browser, click the “Set Definition Files” button, and use the dropdown menu to select a set definition file. (They all start with “set” and end with “.def”). Then click the “View Problems” button.

To import a set definition file so that you have an actual assignment in your course, go to the Sets Manager, Import tab. After you select the set(s) that you want to import, before you click the “Import” button, check to see if you want to set it to assign to “all current users”. If you only assign the set to yourself, you may need to assign it to students later. Although, students whose WeBWorK accounts are created when they log in from D2L for the first time will automatically be assigned all published/visible sets at that time.

After a set is imported, you probably want to change some things about it. In the Sets Manager, click the pencil icon next to the assignment. You can set dates and the published/visibility status of the assignment here. If you then click the name of the set, you will be on the “Set Detail” page for this assignment. Here you can set a few more things about the assignment, including a description. Also you can adjust settings for individual exercises in the set.

At PCC we have default sets for several courses, ranging from lightly curated to heavily curated. If you do not see sets to import for your course, check in with the WeBWorK admin about that. It may be that they exist, but your course is not linked to them.

Editing a homework set

You can make changes to an assignment.

editing a homework set video

The following is a rough written description of what is done in the video.

  • Viewing all the problems in an active set
  • Deleting a problem from a set
  • Marking a problem correct for all students
  • Finding problems in the library to add to a set and adding them
  • Rearranging the order of problems in a set
  • Setting relative weight and max attempts for each question in a set
  • Editing a set description
  • Editing set header information

Create a homework set from scratch

The create a homework set from scratch video covers:

  • Create a new empty homework set
  • Search Open Problem Library for problems to add
  • Search PCC libraries for problems to add
  • Set due dates
  • Set description and set header
  • Assign to students

Using “Achievements” (a gamification feature)

“Achievements” is a gamification feature of WeBWorK. Students earn badges and rewards for completing their exercises.

WeBWorK Achievement video

The following is a rough written description of what is done in the video.

  • Activating achievements
  • Points and badges
  • Achievement items

Granting students a limited ability to extend their own due dates

You can leverage the Achievements feature to provide students with a limited number of due date extensions when the course begins. Students can use these on their own, without asking you for an extension.

WeBWorK Assignment Extensions

Importing a quiz from the PCC Library

The importing a quiz from the PCC Library video covers:

  • Import a quiz from a curated set definition file in the PCC library
  • Discuss the meanings of quiz settings
  • Discuss a problem intended to be submitted through D2L outside of WeBWorK
  • View the quiz from the student perspective

Quiz assembly

The quiz assembly video covers:

  • Create a quiz using the Library Browser
  • Discuss the meanings of quiz settings

Making a quiz

The making a quiz video is an older video. The two quiz-related videos above may be more helpful. There is one more quiz-related video coming that will make this one completely redundant.

  • Selecting problems
  • Configuring quiz administration options
  • Grading
  • Option to proctor

One D2L course with two WeBWorK courses

The one D2L course with two WeBWorK courses video covers:

  • In one D2L course, use set-by-set grade passback with one WeBWorK course containing your quizzes and exams
  • A separate WeBWorK course can contain homework sets and take less overhead

Palette tool options

The palette tool options video covers:

  • The MathView math editor
  • The WIRIS math editor
  • User Settings to disable math editors

Managing student email

The managing student email video covers:

  • Email Instructor button
  • Adding a Gmail filter for WeBWorK help emails
  • Process for responding to a student email
  • Seeing a student’s past answers

Assessment tools

The assessment tools video covers:

  • Scoring tools
  • Statistics on problem sets
  • Student progress on problem sets

Editing individual student data

The editing individual student data video covers:

  • Changing dates for a problem set for a particular student (or a subset of students)
  • For one student (or a subset of students), for one problem, changing the:
    • random seed,
    • score,
    • weight,
    • max attempts,
    • Show Me Another threshold,
    • problem source file

Show me another

Video not yet produced.

Commercial online homework platforms often have a feature where a student can get a step-by-step solution for the problem they are working on, at the cost of having the problem that they were assigned re-randomized. WeBWorK’s Show Me Another Feature is like this, except that the version of the problem that was originally assigned to the student remains their assigned version, and they can see solutions to the newly seeded problem. It is worth noting that if WeBWorK is unable to generate a new version of the problem that is different from the version that is actually assigned, then it will tell the student this, and that this feature is unavailable for this problem.

There are several checks in place to allow you to customize how this feature is used. First of all, in Course Configuration (Optional Modules tab), you decide what elements of the newly seeded problem the student will have access to. There are four options, any subset of which can be enabled.

  • Solutions: if the newly seeded version has a walk-through solution, then the student will be able to see it.
  • Answers: Let students see what answer was expected for the newly seeded version.
  • Hints: some WeBWorK problems are coded with hints that are revealed depending on a global setting by the instructor and how many attempts the student has used. (Very few problems used at PCC are coded with hints.) With this checked, students have access to the newly seeded version’s hints regardless of other settings.
  • Check answers: this gives the student the ability to enter an answer for the newly seeded version and have WeBWorK check if it is correct or not.

The other thing to set in Course Configuration is the number of times a student may use Show Me Another for each problem. Maybe you wouldn’t care to allow your student to use this button over and over again on any one problem forever. For example, setting it to 3 means that a student only gets 3 uses of SMA for each problem. Setting this to 0 means they can’t use it at all. If you set this to -1, then there is no limit.

Lastly, you very well might like this feature to be enabled for some problems, but not all. For this reason, in the Set Details page for a problem set, you can set the threshold of attempts that a student must use before the button becomes available to them. For example, if it is set to 2, then they must attempt the problem twice before the button is available. If you want the button to be immediately available, set the threshold to 0. If you want the button to never be available for that problem, then the convention is to use -1. (If you have a multiple choice question, where new random versions simply permute the order the options are presented, then you may not want to allow students to use SMA on that problem.)

Sometimes when you import a problem set, these per-problem SMA values will come along with the problem set you imported. It just depends on where the problem set definition file came from. If that happens, and you are not happy with the values that were imported, you could either change all the numbers manually or mass edit the set definition file(s) and re-import the problem sets.

Reduced scoring period

Video not yet produced.

You can set up a problem set so that it has a date by which students can receive full credit, and a second date where each submission is only worth some percentage of full credit. For example, suppose a set has three exercises. A student correctly answers #1 for full credit on time, and answers #2 half correctly at the same time. At this point, their scores are (100, 50, 0). Then a day late, they answer #2 fully correct and answer #3 half correct. Then if you have set the reduced scoring weight to 70%, the student will have scores (100, 70, 35).

Here is some important vocabulary for using this feature. From the student’s perspective, there is a “due date” (when they get full credit) and an “accepted late for reduced credit date”. From the teacher’s perspective, there is a “reduced credit date” (when students start getting reduced credit) and a “close date”.

To use this feature:

  • You must enable reduced scoring in Course Configuration (Optional Modules tab).
  • Also in Course Configuration, set the weight you wish to use.
  • Now when you visit the Hmwk Sets Editor, an active set has four dates where it otherwise would have three. The reduced credit date has been added as an additional column. Edit these dates as you like. Note that you will get an error message if your dates do not make sense. I.e. “open date” < “reduced credit date” <= “close date” <= “answer date”.
  • Also for each problem set, there is a checkbox to mark for whether or not reduced credit applies to that set.

Sometimes when you import a problem set, the reduced scoring dates and flag will come along with the problem set you imported. It just depends on where the problem set definition file came from. If that happens, and you are not happy with the values that were imported, you could either change all the dates and flags manually or mass edit the set definition file(s) and re-import the problem sets.

Conditional release

Video not yet produced.

You can make it possible to conditionally release homework assignments. For example, this can be used to make it so that Assignment #2 is not available until a student has say a 90% on Assignment #1, etc.

After enabling this in the Course Configuration (Optional Modules tab), then visit the set details page for Assignment #2. You will be able to choose the set that it depends on, and a score that students must have on that set before Assignment #2 is available. You will have to type the name of the set. You need to know that if your set name appears to have space characters, they are actually underscores. So for example, type “Assignment_#2”, not “Assignment #2”.

Remote proctored tests/quizzes

The remote proctored tests/quizzes video covers:

  • Create the underlying exercise set.
  • Visit its Set Details page and set various configuration settings as desired.
  • Recommended: 1 problem per page.
  • Proctor Authorization Type should be at Start only. (If you want to also authorize when students submit their exam at the end, then (1) create a new user in the Classlist Editor (2) assign some password to that new user (3) elevate that user’s permission to grade_proctor. Then when students finish the test you can give them this user’s name and password. You probably want to change that user’s password after giving it to students.)
  • Enter a password that students use to begin the quiz. You could reveal this to students verbally or through D2L when it is time to start the exam.