WeBWorK at the University of Regina

Robert Petry and Kelsey Caron

1 WeBWorK at the University of Regina

1.1 What is WeBWorK?

WeBWorK (webwork.maa.org) is an open source online homework system for math and science programs. It is in widespread use at many universities in Canada and elsewhere. Some of its advantages include:

  1. A large existing set of problems primarily in mathematics, but also in physics and computer science created by faculty from many institutions.
  2. Problems with random variables so that students receive unique versions.
  3. Input interfaces that allow students to enter functions and other mathematical structures thereby allowing for questions beyond multiple choice and true false.

1.2 Video Introduction

The following video:
WeBWorK Webinar
is a webinar detailing WeBWorK usage at the University of Regina hosted by Dr. Robert Petry. The video is roughly an hour long and provides an outline for using WeBWorK. Other videos for general WeBWorK usage can be found online but this video details specific details about WeBWorK integration at the University of Regina. This video, along with the following documentation should be enough to get you going using WeBWorK.

1.3 Documentation

The document you are reading resides online at
You can download it as a pdf at
webwork1.cc.uregina.ca/webwork_instructor_notes.pdf .

These notes will be added to so check them for updates.

Some documentation for students using the system can be found at

WeBWorK is used extensively at other institutions and some documentation from other institutions is below. Googling for solutions to issues you are having may also help.

The following is a useful guide for instructors from the University of Lethbridge, much of which is relevant as they also use Moodle for their Course Management System like the University of Regina.

The following documentation is available from www.maa.org:

Also look at the following resources at BCcampus (mathtest.bccampus.ca/webwork.html):

The following are potentially useful references for creating your own problems:

Note that the installed version of WeBWorK is WeBWorK version 2. Documentation found online may refer to older versions of the software. The functionality may be the same but there are likely interface differences. The Lethbridge documentation details the newer WeBWorK coding functionality (MathObjects and PGML markup) that simplifies the creation of new problems. MathObjects are also mentioned in the UBC documentation.

2 Requesting a WeBWorK Course

This section discusses how to request WeBWorK be set up for use with your course.

2.1 UR Courses Integration of WeBWorK

UR Courses is built using the Moodle software and WeBWorK can be integrated into it in several ways. In the way the University of Regina is using it essentially UR Courses opens a window onto the WeBWorK software for students. The main advantages of this is:

  1. UR Courses handles the creation of student accounts on WeBWorK.
  2. A single mark or individual marks from WeBWorK can be passed back to the UR Courses gradebook.

Because of the first point students must directly log into WeBWorK through UR Courses. They cannot directly log into the WeBWorK server like instructors do.

How (and if) grades are passed back (point 2.) to the UR Courses gradebook will influence how your course gets set up on the server by the administrator and how you will set it up in UR Courses. There are two possibilities:

  1. Course Mode: In this case a single tool link is set up in UR Courses to WeBWorK. If a grade is passed back to UR Courses it is a single WeBWorK grade for the entire course that is the weighted average over all questions (rather than a weighted average over all assignments) that have been assigned to students within WeBWorK.

Course mode is useful if you just want to use WeBWorK for a series of homework assignments worth a chunk (say 10%) of the final grade. Course mode is also appropriate if you want to manage all grades yourself by downloading them manually from WeBWorK. These could then be manipulated in your own spreadsheet or uploaded manually into UR Courses. In the latter case you will just choose not to pass a grade back to UR Courses when you configure the tool.

  1. Assignment Mode: In this case each assignment (homework or exam) in WebWorK must have a link set up for it in UR Courses by the instructor. Each assignment mark is then sent back separately to the UR Courses gradebook.

Assignment Mode is appropriate for an instructor wishing to have individual grades for assignments (homework sets and/or exams) passed back to the UR Courses gradebook. Assignment mode while providing more grade passback flexibility than course mode also requires more setup within UR Courses by the instructor.

You must decide which mode you desire to use when requesting your course to be setup. You may want to look ahead at how each is configured in UR Courses before making your decision.

2.2 Send Course Request to Information Services

To have a course set up you need to send your course request ticket to Information Services using the Footprints Ticket Form. (Note: The account number is not required as this service has no charge.)

Title the header of the Ticket the following:


Here DEPT is likely MATH or STAT, COURSE is the course (e.g. 101), and SECTION is the section or sections of it being taught by you. So for example:

In the contents of your email give the following information:

  1. The course name
  2. The mode (course or assignment) you wish to use for your course.

So for example:

  1. Calculus I
  2. assignment mode

2.3 Receive Course Information in Email

Next wait for an email back from Information Services which will contain:

2.4 Confirm Login of Your Course

Go to the webwork site at WeBWorK

and your course should be visible. Click on your course and you will be taken to a University of Regina site to confirm your login. Note you can bookmark a direct link to your course like


to facilitate your work on the site. You will also need this link when configuring UR Courses.

Note that as an instructor you must always log in directly on the WeBWorK server. You cannot follow UR Courses links you set up as an instructor. You will be able to use a demo student to follow UR Courses links as discussed below to test your links. Conversely students cannot directly log into the WeBWorK server. Instead an appropriate assignment tool link in UR Courses needs to be created for students to log in through as discussed later in this document. Students cannot log into a course directly on the WeBWorK server because UR Courses handles the creation of student accounts on WeBWorK using these tool links.

3 Creating a WeBWorK Assignment

3.1 Creating a Homework Set

Now that you have a course on the WeBWorK server log into it. In order to see the types of problems available from WeBWorK we will now create a new homework set. The term homework set in WeBWork refers to a collection of problems for conventional homework or potentially a quiz or exam. After logging into your course do the following:

3.2 Selecting Problems

To put problems in your problem set click on Library Browser. Beside Add problems to Target Set choose your problem set.

Note you can also create a new problem set here by putting a name for it in the blank beside Create a New Set in This Course: and clicking on that button.)

Beside Browse choose the Open Problem Library button if it is not already selected. Then find problems by first selecting the Subject from that drop-down menu. Note that you will want to use the slider on the right side to see all the topics. Next within each subject you can choose Chapter and Section to subselect problems. If you do not subclassify all the problems in the category will be present. So for instance with nothing selected you will see that around 37000 problems are present.

So for instance after chosing your homework set as the target choose the following:

The number of matching problems (here around 163) are shown. Click on View Problems to see them. They will show (by default) 20 a page. Note that depending on the type of problem (for example one with a lot of graphics rendering) this viewing step can take time. Select fewer problems beside Max. Shown if this is too slow. If it is still showing too many problems you can choose Advanced Search to look for keywords within the search.

Beside each problem note there is a randomize key on the right which will show you another generated version of the problem, a pencil to actually edit the code for the problem, an eyeball to preview the problem and an X to temporarily hide the problem. (The hidden problem will reappear if you search again). Choose Add to add any problem to your homework set.

3.3 Other Available Problem Sets

The existing problems in the Open Problem Library are extensive but range from good quality to poor quality – some potentially broken or using older coding interfaces. To remedy this many institutions have curated sets of problems for their own courses. These may be selected in addition to (or instead of) the Open Problem Library problems.

The University of Lethbridge has selected and developed a set of problems for their courses. These problems are more reliable with fewer errors, use the newer problem coding style (MathObjects and PGML), and many include solution sets. Using these also limits the need to browse the large collection of problems in the main OPL library. To use these click on the button Lethbridge button instead of the Open Problem Library in the Library Browser. The problems are stored in a folder structure by course and to browse them click on the drop down menu beside Select a Problem Collection to browse the appropriate topic.

Problems that have been created by many other institutions that are not in the Open Problem Library can also be found by selecting the Local Problems button within the Library Browser. Like the Lethbridge problems these are organized in a folder-like structure but in this case the top level folder is the university in question. You may also wish to consider these collections if you do not find suitable problems for your course for a particular topic.

The TemplateQuestions button gives access to a set of template problems using newer WeBWorK programming techniques that illustrate the different types of questions WeBWorK can ask. These can be used as starting points for quickly creating new problems.

3.4 Edit Target Set Features

After the problems are selected, at the top of the Library Browser select Edit Target Set. This will take you to a page where the problems selected are listed at the bottom in the Problem section. Choose Render All to see the problems. Here you can reorder the problems by clicking on the arrows beside the problems and sliding them to other locations. Choose the pencil to edit a problem (discussed later in this document). Choose the eyeball to try the problem. The weight of the problem can be changed as well as the number of attempts allowed for the problem. Click on Delete it? to delete the problem. If after a delete the problem numbers are no longer in order the Renumber Problems option will give them a new numbering. The Mark Correct? box can be used to mark the problem correct for all students in case it was found to have a problem. See here and video link therein for how to change marks on a question for an individual student or the whole class.) After making any changes you must click Save Changes at the bottom of the page.

At the top of the page you must set the time the problem set Opens and Closes for anyone it is assigned to. The time which students will have Answers Available must also be chosen. Make the problem set Visible to Students (i.e. visible within WeBWorK though potentially closed) by choosing Yes. Some problems have Hints which you can choose to let students see or not. The default Asignment type is set to homework. Set Description provides a description of the homework set that students will see if they hover over the assignment within WeBWorK on the course main page. Hit Save Changes after making any changes.

Selecting gateway/quiz for the assignment type allows for further options more suited to an exam. In addition to additional options the gateway/quiz has a different look than a homework set, often with questions all on one page (if you desire) versus the traditional homework set which will put one question per page. Configuring the gateway/quiz options are discussed later in this document.

At the top of the page one can select to edit individual versions of the problem set. This allows for one to change properties like the start and stop time on a per student basis to, for instance, allow for student accommodations. One will want to assign users to the set first (next point) before doing this.

Finally note that the open/close/answer date of a homework set can be easily accessed by clicking on the Hmwk Sets Editor tab. These values can be changed by clicking on the pencil icon beside the desired set. To get back to editing the target set in detail click on the number of problems in the Edit Problems column of the set of interest. Finally you can assign users here as well (next topic).

3.5 Assign Users to Homework Set

By default only you as the instructor are assigned to the homework set. Within the Hmwk Sets Editor click on the blue number link under the Edit Assigned Users in the row of your course. You will be presented with a list of all the users assigned to the course. You can assign the set to selected individual students by clicking on the box(es) beside their names. Alternatively, click on the Assign All Current Users button if you want to assign the set to the entire class. Hit the Save button at the bottom of the list.

Initially there will be no students appearing in your course. As students click on your WeBWorK links within UR Courses for the first time accounts will be created for them in your course in WeBWorK. Additionally they will be assigned to any existign visible sets that you have in UR Courses, thus allowing students to connect successfully to your first (and existing) visible homework set(s). However once students exist within your course you must assign new homework sets to them!

After creating an assignment, you will need to create the tool link in UR Courses. You will also need to create a demo student to test your UR Courses to WeBWorK connection so you can see exactly what your students are seeing, experiment with grading, etc. Once your demo student has connected to your first assignment they will appear in your list of students and you can assign the demo student individually to a future assignment before assigning it to the rest of the class.

Note that for any user to access a homework set in WeBWorK (including you as an instructor) you must ensure it is assigned to you, that it is visible (if you are a student), and that the open and close time window have been set properly. You can then click on the Homework Sets tab and click on your set to see it.

3.6 Deleting a Homework Set

When you are done with your test homework set (or any set) you can delete it.

3.7 Importing Demo Homework Sets

Every course in WeBWorK has a templates folder on the WeBWorK server which is where system files you use and ones you create (such as new problems) are stored. The default system files include demo homework sets that you can import into your course. Additionally you can upload your own homework sets into your templates folder for importing into your course. The four demonstration courses that are likely present in your course already are:

To add one of these or a homework set you have uploaded from elsewhere (see below) do the following.

If you use add multiple sets then you can select several sets at once. Note that when you wish to select multiple objects in a range, click the first one and then shift-click the end of the range. If you want to select non-contiguous items do a command-click which is ctrl click. Note that if you shift the dates so the earliest is some date all of the sets get shifted relative to this date, so that the earliest of the sets will be now. This is often convenient when using the same assignments for a new semester. You can always modify the dates later.

3.8 Downloading Homework Sets

You may want to backup a homework set you have created to your own computer for use in another semester or to share with another instructor. To do this, once you have a homework set created, in the homework sets editor choose the Export tab. Then choose either visible sets or select sets by clicking on the box on the left of each and choose selected sets. Then click Take Action. The sets will now appear in your templates folder on the server. Click on File Manager and they will be visible. To save an individual homework set click on the .def file for the set and click the Download button to download it to your computer’s filesystem. To download several homework problems into a single archive first create the archive by selecting several of the homework sets (the .def files). See the note above about using shift-click to select a range of files and ctrl-click to select further files. Once the files are selected choose Make Archive. This will make a single file with the name of the course with the .tgz extension. You can then click on the Download button to download it to your local filesystem.

3.9 Uploading Homework Sets

If you have a homework set that came from elsewhere (say shared with you from someone else or one you saved from a previous semester) you must first upload the file into your templates folder. Click on File Manager followed by Browse… to select either your individual homework set (.def extension) or archive of several sets (.tgz). Then click on Upload. If Unpack archives automatically is selected then the archive of homework sets will be automatically unpacked. Next you can import them within the Hmwk Sets Editor as was done with the demo homework sets.

4 UR Courses Tool Link Configuration

You need to configure UR Courses to connect to your WeBWorK course so students can access it. This is done by setting up the link (a tool) in UR Courses. How this is done depends on whether you requested Course Mode or Assignment Mode for your course as discussed previously. If you are using Course Mode you can configure this immediately once you have your course set up as the UR Courses link takes the student directly to the course. If you are using Assignment Mode you will first need to create your assignment within WeBWorK as the UR Courses link will point to that.

4.1 Course Mode Configuration

Follow these steps for Course Mode configuration:

  1. On your UR Courses course page, click on the button in the upper-right corner labelled Turn editing on.
  2. In the section where you want the link to WeBWorK to appear, click Add an activity or resource
  3. Click on the Activities tab.
  4. Choose External Tool from the list.
  5. In the General section do the following:
  1. In the Privacy section:
  1. If you chose to accept grades from the tool a new Grade section will appear. Configure it as follows:
  1. The remaining tool options (Common module settings, Restrict access, and Tags) do not need modification. In particular note that any date restrictions applied here would not be synced with WeBWorK’s own restrictions. It is likely best just to leave access to WeBWorK open from UR Courses and have all time restrictions managed in WeBWorK as you will need to do that anyway.
  2. Select Save and return to course .

4.2 Assignment Mode Configuration

In assignment mode you need to create a link in UR Courses for each assignment (homework or exam) you give in WeBWorK. This is required to make a corresponding entry in your UR Courses Grade Book. (After the first such link is created subsequent links can be created by duplication.) So create or import a homework set as discussed previously. Please ensure that in WeBWorK:

Next follow these steps for Assignment Mode configuration for the first link.

  1. On your UR Courses course page, click on the button in the upper-right corner labelled Turn editing on.
  2. In the section where you want the link to WeBWorK to appear, click Add an activity or resource
  3. Click on the Activities tab.
  4. Choose External Tool from the list.
  5. In the General section do the following:
  1. In the Privacy section:
  1. Once you choose to accept grades from the tool a new Grade section will appear. Configure it as follows:
  1. As things are currently configured if a student clicks on the assignment link when it is visible but not open in WeBWorK it will give an error indicating this is the case. This may confuse students. Two solutions to this are as follows:
  1. The remaining tool options (Common module setting and Tags) do not need modification.
  2. Select Save and return to course.
  3. Make the tool visible again by pressing the eyeball icon.

For subsequent assignments you can duplicate your first link as follows.

As before first ensure the assignment (homework or exam) in WeBWorK has been created. Please ensure that in WeBWorK:

Then duplicate the first link you made as follows:

  1. On your UR Courses course page, click on the button in the upper-right corner labelled Turn editing on
  2. Beside the existing assignment click on Edit and in the drop down menu choose Duplicate. This will create a version with the same name and (copy) added.
  3. Make the copy hidden by clicking on the eyeball. (We don’t want students logging into the new assignment until everything is configured properly.)
  4. Choose Edit on the copy followed by Edit Settings
  5. Change the Activity Name to something appropriate (e.g. Assignment 2)
  6. Change the Tool URL to the link to the link for the new assignment, for example:
    Here Assignment2 is the name of the assignment within WeBWorK.
  7. Under Grade, if the new assignment is to be placed in some other category than the original one then you will need to change that category.
  8. Modify any date restriction or activity restriction to reflect the new assignment.
  9. Enter Save and Return to Course
  10. Click on the eyeball to make the link visible to students.

4.3 How UR Courses and WeBWorK Communicate

Once your WeBWorK tool links are set up in UR Courses a student clicking on a link for the first time will automatically have an account set up in your WeBWorK course. They will also be added to all visible homework sets. (So a late addition student will be added to an earlier visible set though the open and close date may not change.) Since you cannot change time windows for exams for students with accommodations until they are in your WeBWorK course, you will want to ensure that you have given a demo problem set or exam first to get them enrolled in your course.

For any tool that is passing a grade back to WeBWorK, an entry should now appear in the grade book. Grades in WeBWorK will automatically be periodically passed back to UR Courses (currently every hour). An existing partial grade will be passed back if a homework set has not been completed. To prevent student confusion or complaint, you may want to hide the grade item in your UR Courses gradebook until the assignment is closed.

Finally, note that in assignment mode it is critical that a student click on the appropriate assignment link in UR Courses to get the grade passback to UR Courses correctly set up. It would be technically possible for a student to click on an earlier assignment link, navigate up one directory in their browser and then click on the new assignment without this happening. To prevent this as an instructor you could either hide other assignment links within UR Courses temporarily before a new exam or assignment occurs or put clear instructions indicating the student must only click on the appropriate assignment/exam link to start it.

5 Testing WeBWorK with Demo Students

5.1 Demo Student Creation

Since you cannot follow links from UR Courses to WeBWorK while logged into UR Courses as an instructor, you need to create a Demo student in your UR Courses courses for doing so. Please follow the instructions found at this link: Creating a Test Student

5.2 Demo Student Enrollment

Next enroll the student into any UR Courses course you wish to use WeBWorK in as follows:

  1. Log into UR Courses.
  2. Select your course.
  3. Click on Participants on the left side.
  4. Click on the Enrol Users button.
  5. In the Search area type the name of the test student you created in the previous selection.
  6. Select your test student
  7. Ensure the assigned role is Student and click Enrol Users

5.3 Logging In as the Demo Student

Go to UR Courses and click on log in with other credentials to log in as your demo student. Note the demo student account only has student privileges when you log into it in UR Courses and you will not have your instructor privileges. It is possible that your browser will remember your login and try to use it again when you try to go into UR Courses again or into the WeBWorK server. To avoid this always open a Private or Incognito window in your browser before logging in as your demo student in UR Courses. Alternatively, if you have two browsers installed, always use one of them when working with your demo student.

Instructors cannot log in using links from UR Courses as WeBWorK, for security reasons, has been set up to not automatically create accounts with privileges higher than student from within UR Courses. Instead log into your course as your demo student to test the link. Then click on your WeBWorK tool link. If you are using course mode a new tab in your browser will open displaying all the existing assignments that have been made visible and assigned to the student. If the window for writing is open you can write it. If you are using assignment mode then when clicking on the link you will go directly to the assignment.

Note the assignment must be visible within WeBWork and open and be assigned to your demo student (assuming this is not the first assignment and your demo student now exists within WeBWorK) for the link to work. If not you will be taken to a WeBWorK error page indicating a problem exists. If this is your first tool link you may have made additional mistakes in configuring the tool link itself in UR Courses and you will need to check that. (Future links, being duplications of existing links are less likely to have those errors.)

6 Advanced Testing Features

6.1 Gateway/Quiz Settings

As discussed previously a homework assignment type has a limited set of options such as open/close dates. On the Edit Target Set page of an assignment, in addition to homework assignment type you can choose gateway/quiz and a few other options that involve, for instance, setting up proctored exams. These options have many of the characteristics that one might expect of on-line quizzes or tests. There is an extensive list of options discussed here.

where the new options that appear with this setting are defined. Extra options include randomizing the order of problems presented. Also there is the option to allow a student to write a quiz more than once. Unfortunately this flexibility can also cause confusion if a student is allowed to take an exam more than once if that was not intended. The following settings under Gateway Parameters are appropriate for an exam that occurs only once and that closes promptly at the the closing time of the exam:

Once you make this change and hit Save Changes at the bottom of the page.

If you choose these settings, instruct students that they must enter Grade Test once they have completed the exam, that this must be done before the time limit expires, and that they will not have access to it after the exam is completed until the answer date.

6.2 Problem Groups

WeBWorK allows for the ability to choose one or more problems from a Problem Group within a Gateway Test and Quiz. Thus in addition to the variability that can be created within a problem itself, an instructor can randomly select problems within a group of problems for the student exams. See


Note that you can use the gateway/quiz mode for regular homework assignments as well if you want to access this feature.

7 Monitoring Students During Exam

You can monitor student progress during an exam by clicking on Student Progress under Instructor Tools. Then click on the homework set of interest. Any student who has submitted their exam will show a grade. At the top you can click on problems followed by Update Display to show the grade as a percentage of the total mark received for the problem. To see a student’s work click on the student’s name in the particular exam. You will then be acting as the student and you can then click on the particular homework set of interest to see the student’s version of the exam. To return to your role as an instructor select the Stop Acting button found at the top of the page.

If you want to instead examine all the work in the course of a single student you can click on the students name on the Student Progress page. Click on the particular homework set to see the student’s particular version and submitted solutions. Once again you will then be acting as the student. This will be shown in the top corner of the page. To return to your role as an instructor select the Stop Acting button found there.

8 WeBWorK Email

8.1 Allowing Students to Email Problems

Problems in WeBWorK give a student the option to send an email in case they have an issue. By default WeBWorK has been configured to not allow students to send emails out of the system. (You may for instance want them to contact you in some other method.) If you want to be able to receive email from students click on Course Configuration and choose the E-Mail tab. Beside Additional addresses for receiving feedback e-mail enter your email address. Feedback email sent in this way will include not only the student message but a link to the page from which the user sent the feedback. If this is not configured students will be told that no email recipients have been configured if they try to send an email.

8.2 Emailing Students

If you click on the Email tab it is possible for you to send bulk or individual email to students assuming you allowed the UR Courses tool to pass email information to WeBWorK when you configured it. After clicking on the Email tab click on the question mark at the bottom of the left column for some instructions. Likely using your News Forum or emailing within UR Courses may be preferred.

9 Printing Exams

Since student WeBWorK exams will be unique you may want a PDF of all the student exams. This is useful if either you want to mark some uploaded handwritten work to UR Courses or because you need a permanent record of the work in the event of a grade appeal. (Hint: It is particularly useful to use problems that have a solution block if you want to mark handwritten work.)

In order to print (i.e. create a PDF) of the exams of one or more students, choose to act as a student and then choose the particular exam of interest. Next click Print Test near the top of the exam. This will present a page with the title Hardcopy Generator. Going to the bottom of the page and clicking Generate hardcopy for selected sets and selected users will cause a PDF to be generated for the exam and the student. This will be displayed in a PDF viewer and you can click on the download button at the top of the page to download it.

To generate a PDF containing all the hardcopies for a particular homework set/exam, select all the students in the student list by first clicking on the first student, then scrolling down the list of all students and then clicking the last student while holding the shift key. Now all students will be selected. and the printed copy will generate a large PDF containing all the students. Similarly one may click on multiple exams if one desires in the right column. Note that large PDFs take a long time to generate.

If any errors occur in the PDF generation (say due to a student having entered a non-recognized symbol in a solution) then rather than presenting the PDF solution you will see a report of the errors as well as likely a lot of LaTeX warnings (such as overfull boxes due to the text being too wide). In this case scroll down to the bottom of this log information and you can click on Download Hardcopy. This will be the generated output with the LaTeX document engine having proceeded as best it could through the errors. This is usually adequate.

The default at the bottom of the screen is just to print student answers. If you wish to also include the correct answers and potentially the solutions (for questions that generate them) click on those boxes where it says Show. This is useful if, say, you wish to mark submitted handwritten work with the unique solutions.

The Hardcopy Theme defaults to printing questions in a two-column format. This may be undesirable if the question’s answer is too wide for that. In that case you can select pdfLaTeX - English - One Column.

Note that not all questions print student answers correctly. So, for instance, if the student enters a matrix the printout may only show the first entry. It is recommended that you try printing your exam before giving it if your intent is to use the printed solutions or have your students use them. Also if you have created custom questions these can break the printing generation, especially if special LaTeX characters are not properly entered using the appropriate markup.

Finally note that students have the option of downloading copies of their exams by clicking on the arrow beside the exam. This becomes available when the solutions become available according to your settings. You can disable the ability of students to access PDF copies of their assignments in your course configuration if desired.

10 Problem Customization / Creation

10.1 Editing Existing Problems

WeBWorK allows the possibility to create new problems as discussed in several references. See the Documentation section. A more common task is to slightly edit a problem. This can be because the notation you use is different than that provided, or perhaps you wish to give special instructions, such as directions for student input or to ask a student to upload written work to UR Courses for the problem to be assessed separately from WeBWorK.

To modify a problem, add it to your homework set as usual. Then click on the Edit Problem icon (a pencil) which appears beside the problem. This will open a new page with an editor for editting the problem. Since this will be a system-installed problem you will not have the power to edit it. You must first make a copy by clicking on the New Version tab. Beside Save file to a new path to the problem will be created with the extra folder local attached at the beginning of the original problem. Selecting Take Action! will copy the original problem to this location. You will now be editing the new version of the problem.

Next to modify the problem you can click on the Update Tab. Make the changes in the editor that you wish and then click Take Action!. In addition to saving the file this will open a new tab in the browser showing your changes if there is one not already open for the problem. If there is that window will be updated. Return to the editor window and keep making changes until you have the problem the way you want.

Returning to your original homework set tab, hit the refresh button on your browser. You should see that the Source File now has the new version with local prepended. Hit the Save Changes button at the bottom of that page to save the changes.

Note that the default renaming of problems is to create a parallel name below the local folder for your course. So if you enter the File Manager you will see your new problems in (subfolders of) the templates/local folder of your course. An individual problem has a .pg extension. Your problems will appear in the lowest folders contained in templates/local. If you want a different folder or location to organize your new problems then modify the defaults when you create your new version of the problem.

Note that if all you are changing is the documentation of a problem then doing this is straightforward but it will depend on how old the problem is. Newer problems use PGML. PGML is a markup type language for text and has simple markup for new lines and bold and italics as well as mathematical equations. (See here or the documentation in the Documentation section about PGML markup. A useful PGML cheatsheet is available here.) For a problem using PGML you will be looking for text found within a BEGIN_PGML and END_PGML sections. Older problems have the problem text between the words BEGIN_TEXT and END_TEXT. The special markup for older problems for linebreaks and longer paragraph breaks are given by symbols $BR and $PAR respectively. Other macros that will work for both the web (HTML) and printed LaTeX are discussed here:


Some characters, such as a caret (^), for instance, will break LaTeX print output. Use the macro $CARET or CARET() instead. Similarly less than and greater than have macros. Also see notes at the end of the above link where displaying LaTeX math is discussed.

If you are creating new problems one should almost certainly use PGML. Converting an old-style problem to PGML is relatively straightforward as well once you are familiar with PGML syntax.

10.2 Creating New Problems

Duplicating one of the problems available in the TemplateQuestions source available through the Library Browser is a good place to start as these use PGML for the text sections of the problems as well as the sophisticated MathObjects library to manage working with functions, vectors, etc., conveniently. If you wish to find problems that use the newer MathObjects library in the Open Problem Library you will see that this is visible when searching problems found there. Searching for online tutorials on creating WeBWorK problems is useful, but ensure they are recent enough that they are using these newer WeBWorK features.

10.3 Downloading Problems

You can download your new problems (say at the end of a course term or to share with others) by clicking on File Manager. To download an individual problem navigate down the templates/local hierarchy until you get to your problem. Select the problem and choose Download. To download more than one problem in the folder you can create a problem archive by highlighting two or more problems and choosing Make archive. This will create a file with the .tgz extension from within the current folder. You can then download it. You should delete the archive (.tgz) file from within the problem folder when you are finished downloading it. Alternatively if you have created all your problems in a single folder, click on just that folder and create an archive. Folder archives include subfolders. So if, say, you created new versions of existing problems and they were all given default names so that they sat in the templates/local/Library folder you could navigate to the templates/local folder, create an archive of the Library folder and download the archive.

10.4 Uploading Problems

Similarly you can upload your problems by navigating to your templates/local folder within the Library Browser. (If that folder does not exist, because perhaps it is a new course, navigate to the templates folder and select New Folder and create the local folder.) Then from within the local folder, click the Browse … button and find your individual problem .pg file or your archive .tgz file on your computer and then select the Upload button to upload it. Ensure you have Unpack archives automatically selected so the archive is automatically unpacked. If you have the then delete them item selected then your uploaded archive .tgz file will be automatically deleted as well. Otherwise you will need to click on the .tgz archive to manually delete it.

Once your problems are uploaded you can access these for your exams by clicking on the Local Problems button in the Library Browser when creating a homework set. From there click on Select a Problem Collection to choose a the appropriate subfolder containing the problem.

Note that a homework set that uses local problems will be looking for these in the same folder that they existed when the homework set was created. As such if you upload problems into a different location under the local tree then the homework set will need to be changed to have the correct paths to the new locations.

10.5 Managing Problems on Your Computer

If you wish to manage problems files and their archiving on your own computer, note that the archives that WeBWorK uses, relies on the tar program which is likely available on your system. Essentially you would just need to put the .pg files into a folder and then use the tar command to create a gzipped tar archives from the folder. On a Unix command line this would be

tar czf problemfolder.tgz problemfolder

done from within the folder containing the folder of problems here presumed to be named problemfolder.

11 Downloading Grades

If you wish to download grades directly from WeBWorK rather than passing them back to UR Courses you can do so by clicking on Scoring Tools. (Clicking on the question mark below it will provide context help.) Next Choose the homework set you wish to get the results from. Then hit the Score selected set(s) and save to: button. This will create a comma separated (.csv) files that can be opened in a spreadsheet or text editor. The file ending totals.csv will give the mark out of the total number of marks in the summary column and the percentage score in the final column.

If you want more detailed data showing the marks per problem, etc., select Record Scores for Single Sets before hitting the Score selected set(s) and save to button. This will also create a file ending in scr.csv which will contain the marks for all the questions and the sum of the marks in the final column. The file ending ful.csv gives further data yet regarding the number of attempts.

If you choose to select more than one homework set (by shift-clicking as usual) then when you score the set the totals.csv file gives the totals for each set along with a running total of all the marks out of the total possible and creates a combined score. This is presumably the grade that is returned in course mode to UR Courses if all the homework sets had been selected.

To upload the data to the UR Courses gradebook note that the .csv files would require removal of preamble lines. Also if uploading is to be done you will likely need to remove any students who are no longer in your class from the .csv file as well as any instructors and system administrators otherwise UR Courses will complain. (Note that students can be removed from a WeBWorK course by using the Classlist Editor before exporting grades.) In UR Courses you would need to set up your gradebook with totals for each of the assignment items and then select Import and CSV file. Then choose your totals.csv file. Once uploaded a list of columns appear and you need to identify the mappings between the information in those columns and the entry in your gradebook.

Obviously all of this is unnecessary if you use assignment mode and grade passback with individual tool links. However one can use the simpler course mode with a single link if you manage all grades yourself.

12 Further Considerations

See the Help button for a brief description of the remaining tabs in WeBWorK. Click on a tab and hit the question mark at the bottom for contextual help. The links in the introduction give links to more detailed documentation. Also doing a web search for what you are trying to do in WeBWorK will often get results.