Webwork starting instructions
Webwork starting instructions, Department of Mathematics
University of Oregon
Here are some basic things you'll need to know to start teaching with
WeBWorK. (I'm happy to help with more information):
HOW TO CREATE A HOMEWORK ASSIGNMENT
There are a couple ways to do this. I'll cover two.
- Many of you (if for example you are teaching Math 111, 112 or Math 251)
will have pre-made homework set templates you could use (or edit).
To get these templates to show up for your course:
- log into WeBWorK.
- Go to "Homework Sets Editor".
- Click on "Import..." and choose a file ending with .def. (The
default is to assign this to no users, which is a good idea until
you've made sure it is what you really want).
- Once you do this, the set should appear. Click on the number
under "Edit Problems." This will allow you to edit the date that
students can view the problems (I see no point in hiding the homework,
so I typically make this a date in the past), the due date, and the
date that they can view the answers (if you make this a couple days
after the due date, it is easier to give extensions if you want to).
- You can also delete problems from this page, and most importantly,
you can
- view the problems. Set the "Display Mode" at the top of the
problem list to "images" or something, and then click "refresh
display." This allows you to read and try problems.
- If you want to add problems to the assignment,
see adding problems below.
- If you are happy with the assignment as it stands, go
to assign homeworks below (the students can't see it until you "assign" it to them).
- To create a new problem set (not from a department supplied
template) you'll need to do Instuctor Tools -> Hmwk Sets Editor -> Create ...
You can set the due date, the opening date (when students can start
answering problems), and the date that corect answers
are shown to the students. (You can always change all of these things
later.)
I usually set the opening date in the past since I'm not wanting to
hide the problems from the students (also see the step of assigning
users), the due date at 11:59pm on the night I want them to be done,
and the show answers date to the same thing.
There is an argument to put the "show answers" date in the future by a
couple days in case you want to be able to give individuals
extensions.
NOTE: Don't put a period or underscore in the name of your problem set. If any of
your problems contain images, then students will have trouble printing
them if there is a period in the name of your problem set. The same
caution goes if you write your own problems. They will be in files
with the ".pg" extension. Don't put any other periods in the problem
name. Similarly, if your problem includes an image, it will be a file
ending in ".gif" and you don't want any other periods in that problem
name either.
- Then to put problems into the homework set:
Library Browser -> Add problems to Target Set (select here)
then under the "Browse" paragraph the "National Problem Library"
should be grayed out since it should be automatically the selection.
You can then select Subject, Chapter, Section and click "View
Problems". Note that you can select how many problems to view at
once, and that WeBWorK needs to compile these problems. If you
Then click on problems you want to add, and then click on "Update Set"
You can also do an advanced search, and search by textbook and
chapter, which is sometimes useful, though only a few textbooks have
many problems entered. (Stewart is one that has a lot of problems
entered, but often for the 5th edition.)
One annoying issue, if you click on a bunch of problems on the first
page, and then go to the next page, and then click "update set" it
won't add the problems you clicked on on the first page.
I often do "Max. Shown = All" unless there are many hundreds of problems
in the category I've chosen.
- Assign problem set to users. You need to do this step however
you create the problem set. Students won't be able to see the
problem set until you assign it to them (which is good, since you
don't have to worry about them getting confused by draft problem sets).
Hmwk Sets Editor -> Click on the numbers under "Edit Assigned
Users" in the row corresponding to the homework you want to assign.
One option on the page that comes up will be the "Assign to All
Current Users" which is almost always what you want to do.
[Note on visible/hidden sets. If you discover a problem with a set you
have already assigned to students and you need to hide it from them,
you can make that set "hidden" in the "Hmwk Sets Editor" (you'll have
to make it visible again once you are ready for students to see it
again).
If you create a set in the "Library Browser", it defaults to hidden.
If you create it in the "Hmwk Sets Editor", it defaults to visible
(though in both cases the default is not to assign it to any students).]
- Note on assigning problem sets: attempts to edit problem sets that
are not assigned to you can result in strange error messages. Of course
nothing will get harmed by this, but you may have trouble editing the problem
set.
LOCAL PRE-PACKAGED MATERIAL
There is some pre-made material you can use for various courses.
Problems have been written already for Math 106, 111, 112, 241, 242.
You can find these by seleting the "Library Browser" and then clicking
on "Browse Local Problems" and selecting the appropriate "Local
Problems."
Some courses also have sample homework assignments that you may be
able to use. These are available for Math 111, 112, 251 as described
above under A. of "HOW TO CREATE A HOMEWORK ASSIGNMENT.
TESTING YOUR HOMEWORK ASSIGNMENTS
There are several things you should do to test the assignment.
- Make sure the assignment has sensible dates and times. If the
opening date isn't in the past, the students won't be able to look at
the homework. And if the "answers available" date isn't in the
future, they'll be able to get the answers.
Consider what you want to tell your students about your willingness to
answer email in the hours before the due time.
- Make sure problem sets are "visible." If they aren't, the data
describing them will be gray instead of black in the Hmwk Sets Editor.
You can fix this with the "Make selected sets visible" option on that
page.
- Make sure that you can make hardcopy from the homework set
painlessly. Your students are going to want to print the homework
out, and if they can't they'll be frustrated. Do Homewok Sets ->
Download hardcopy for selected sets to check this. If you have
problems you can't resolve, ask for help on this - it is important to
your students.
Note you can test the printability of all your
homeworks at once by
Homewok Sets -> Download hardcopy for selected sets then select
all your sets, and click the "generate hardcopy" button.
- Finally, and most importantly, do the problem set. It
will help you find any mistake, and it is the only way to be in a good
position to help your students. It also gives you a chance to find
errors and either fix them, or get one of us to fix them, before your
students find them.
- Make sure the assignment is assigned to all students in WeBWorK
once it is genuinely ready. You really don't want to assign it until
you are confident because it can be inconvenient to make changes after
your students have started working. At the same time, if you discover
a problem that is bad after the set has been assigned,
see marking a problem correct.
Once the problem set is created, if you go to Hmwk Sets Editor
and click on the number under "Edit Assigned Users" you can then
assign to all users.
HOW TO ADD YOUR ROSTER
Note: Rosters will be added automatically from now on, but I'm
preserving this section of this document in case special exceptions
develop. But everything below that is in gray should be irrelevant to
you.
The other task that requires some initial work is populating the
course with students. We are creating rosters and moving them to the
webwork directories for individual courses in the office, but there is
still one step that you'll have to do:
- Log into WeBWorK for your course. For the sake of the example,
assume your course is Math 111, CRN 23456.
- Go to Instructor Tools -> Classlist Editor.
- Click on "Import users from file Math111-23456.lst replacing no users and adding any new users."
- Click on "Take Action."
That's it.
We'll update the roster file (Math111-23456.lst, or whatever is
appropriate for your course) every morning between 8 and 9 am for the
first two weeks of class. But we don't have a way of automatically
running the "Import users" command from above, so you'll want to do
that regularly for the first two weeks.
This will add any new students who register. It won't delete students
who drop, so if you care about doing that, you may want to do that by
hand once drop date has passed. Or you can just not delete the
dropped students. Leaving them on your roster won't do any harm.
One caution: when you add new students, homework sets which were
assigned to old students are not automatically assigned to the new
students. The easy way to fix this is to go to Hmwk Sets
Editor, click on the "Edit Assigned Users" column for the active
homework set, and then click on "Assign to All Current Users" at the
top of the page that comes up. You'll need to do this each day that
you actually add users.
(If you wish to short circuit what we are doing in the office by putting the MathXXX-CRNXXX.lst files into your directory, here is what you would do.
Summary: download roster from DuckWeb, run a perl script which
converts it into a form WeBWorK likes, then upload the output of the
perl script into WeBWorK.
Adding your entire roster in detail:
- Download
html-classlist-duckid
to your desktop. This is the script that converts the roster from
DuckWeb into the format that WeBWorK expects.
- go to DuckWeb and get your class list, then click the "download
class list to excel" link.
You don't actually want this to open in
Excel, you just want to save it to the desktop. Also, what you get is
not actually an Excel spreadsheet. It is simply a text file (in some
version of html) that Excel knows how to translate into a
spreadsheet. We're not going to use Excel though.
- On a Mac, open Applications -> Utilities -> Terminal.
and then in the terminal (assuming you've downloaded the
html-classlist-duckid and your roster both to your desktop)
type the commands
cd Desktop (and then hit return)
perl html-classlist-duckid hwskclst.P_ClassList (and then hit
return)
(If you are using any other kind of unix desktop other than a Mac,
this will also work, but you probably will already know how to get
some kind of terminal window. If you have the misfortune to be using
MS Windows, you are kind of on your own here, but I'm sure _something_
works in that situation as well.)
Also note that the file hwskclst.P_Classlist is the roster you
downloaded, but if you download it more than once without deleting the
previous version then the second copy will be named
hwskclst_1.P_Classlist or something like that. Etc.
- The output file will be of the form CRN.lst (those last three
letters are lower-case LST not 1ST, and where I typed CRN will be the actual
CRN for the course).
- Now, log into the WeBWorK class
- Click on Instructor Tools -> File Manager
- "Browse" to the CRN.lst file and click "Upload" once you've
selected the file.
- Click on Instructor Tools -> Classlist Editor and "Import"
users from the file you just uploaded.
- You can repeat as students add and it will add new students without
duplicating students who are already there. However WeBWorK won't remove
students who aren't on the roster. If you want to do that, you have
to do it by hand (see below).
Each student's login will be their regular UO email login credentials.
INTRODUCING STUDENTS TO WeBWorK
There are various things that might be worth doing. I brought my
computer to class the first day to demonstrate. Many of your students
will have used WebAssign before, so will be familiar with the idea.
Some may have used WeBWorK before since we've been using it piloting
it since winter 2009, but that's less likely. Students in Math 111
will likely have seen nothing like this before.
- There are serious advantages to using WeBWorK, and I take pains
to point these out to students.
- They get instant feedback on problems, and thus can make
corrections if they have made mistakes, and can do it when they are
still thinking about the problem.
- They get a good email structure for asking for help from their
instructor on individual problems (this will only work if you make
some effort to periodically answer the emails).
- They get practice at entering mathematics into a computer with
correct syntax, which
is necessary and useful whenever they will do any sort of complex
mathematics on a computer or calculator.
- All of their homework is marked, not just the subset that can be
done by graders.
These advantages come with some potential frustration too.
- If they have the answer wrong, they will get instant feedback.
With paper homework, the student would have been able to believe he or
she had the correct answer until he or she didn't care much anymore.
- At least for the first couple of weeks, students will tend to
assume WeBWorK has an error rather than that they have an error. (Of
course they could be right, but they usually aren't).
- The email help is great for the students, and useful for you to
see what they are having trouble with. But it will frustrate the
students if you don't attend to your email from them in some
reasonable way. There will be a lot at the beginning of term, less
as they learn how to do things better.
It is probably a good idea to give your students some guidelines about
when you are likely to be able to answer emails, especially on the
days that homeworks are due.
- They will be very frustrated by the syntactical problems they run
into. For example, WeBWorK will not accept 1/x+3 if the answer is
really 1/(x+3). This is a good thing, but the students may not see
it that way.
It is worth reminding them how useful the "Preview Answer" button is
in terms of figuring out if they have really entered what they meant
to enter.
- Like any such program, WeBWorK is sensitive to correct
parenthesization (and other syntax issues), which our students often
have trouble with. The students
should understand that the use of the "Preview Answer" button (which
tells them what WeBWorK thinks their answer is) and of the "Check
Answer" button (which tells them if their answer is correct) cost.
them nothing and are often helpful when they are having trouble.
WeBWorK doesn't record their answer as an answer until they click
"Submit Answer." They can change their answer if their answer was
wrong after "Submit Answer" (unless they've used up all the alloted
tries).
- Consider giving your students a problem set (even if you don't
count it) that just has them interacting with WeBWorK so they learn
how to enter numbers, arithmetic expressions, etc. Do this
immediately (due, for example the third day of class).
There are some pre-designed ones, which you can "Import" under
"Homework Sets Editor." The ones that have names like set0.def,
setDemo.def, setMAAtutorial.def, setOrientation.def are all
orientation homework sets. (In fact, if you've never done WeBWorK, it
is useful to do a few of these to see how things work.)
-
For most of the problems I choose, I see no disadvantage to allowing
infinitely many tries on the problems. I make this clear to my
students so that they don't worry needlessly about clicking on the
"Submit Answer" button before they are 100% certain.
The default maximum number of attempts is usually unlimited. But it
can be coded into the problem. It can be set on a per-problem basis
under Instructor Tools -> Hmwk Sets Editor ->whichever problem
set.
- I've made it a practice to tell the students I will round all
homework scores of 90% and above up to 100%. This reduces student
anxiety about being penalized about WeBWorK "making a mistake"
(though I highly recommend testing the homework so that there
shouldn't be many mistakes).
Of course reducing their anxiety helps them feel better about the
course, do better in the course, and complain less to you. I can't
stress this strongly enough. You want to do everything possible to
encourage, or even coerce students in working hard on their homework
assignments while simultaneously doing everything possible to reduce
their anxiety about the assignments - especially in the first weeks
when WeBWorK is new to them.
MISCELLANEOUS:
- How to give an individual student an extension:
Go to "Hmwk Sets Editor."
Click on "Edit Assigned Users" (that will be a number) for that homework.
Then click on "edit data" for the appropriate user.
- How to change an individual student's grade on an individual problem:
Go to "Hmwk Sets Editor"
Select the set by checking the box next to it, and then click "Edit
selected sets" and then "Take Action."
Then click on the set name under "Edit all data."
Then click on "Edit individual versions of ..."
Then click on "Edit data for..."
Finally, set the "status" to 1 for correct, 0 for incorrect! (I
suspect you could use any fraction between 0 and 1 too, but haven't
checked that.)
- How to mark a problem correct for the entire class (you might do
this if you discover an error or ambiguity in the problem):
Go to Hmwk Sets Editor, click on the link to edit problems for the homework, and then click on the
"Mark Correct" box for the offending problem.
- How to reset a student's password.
Inevitably at least one student will mess up their password. To
reset the password, log into the course, and go to "Classlist Editor,"
select the student, and check the "Give new password to selected
users" option.
Then click "Take Action," enter the new password on the page that appears, select "Save Changes" and click "Take Acion" again.
- How to download grades (as a CSV file):
go to "Scoring Tools"
select the sets you want.
Click on "score selected sets and save to" (you can enter a file name
here if you don't like the default one displayed).
Then the results will be displayed as a CSV file (readable to excel
and to OpenOffice, etc.).
To download the file, click on the link with the file name that is displayed.
- How to change the name of an already created problem set:
You can use "create a new set named _____..." from the Hmwk Sets
Editor. If that doesn't work:
-
Go to Hmwk Sets Editor and select the set you want to change the
name of, and click on the "Export" selected sets option.
- Now "Import" a single set from the file that the previous set got
exported to, giving it the name you want.
- How to name problem sets.
To record problem sets, you "export" them from the Homework Sets
Editor. When you do that, WeBWorK will create a file name from
whatever you named the problem set. The file name will have the form:
setYOUR_PROBLEM_SET_NAME.def
So it is nice if you _haven't_ named your problem set something ending
with .def or beginning with "set." Something like "Logarithms" or
"RelatedRates" seems like a good easy to understand choice.
- What if students have trouble reading the problems?
Sometimes they need to change the "Display Option" (usually near the
bottom left for them). "images" usually looks best. "jsmath" is a
good second choice. Lots of the others work OK.
- The students can get information on the format of how to enter
things from this page listing the
functions
WeBWorK understands.
This should be available from a link on the page they see when they
click on a homework assignment.
We've also had sporadic problems with a page that displays units, so if
you assign a problem that cares about units, check to see that the
link that describes the possible units works, and let me know if it
doesn't work so I can try to address it.
- What if you have two courses and wish to create problem sets in one course and then move them to the other course?
OK, there is a good way to do this, but it is multi-step.
- First make your problem sets in one course.
- Then go to Hmwk Sets Editor -> Export selected sets and select
all the sets, and click on take action.
- Then go to File Manager. You'll be viewing a directory for your
course called the "templates" directory.
You'll see a bunch of files with names of the
form "setYOURHOMEWORKNAME.def". These files describe your homework
assignments.
- Select them all (click on the first one, Command-click on the others).
You may also see folders called "setYOURHOMEWORKNAME/". These should
contain any header files you've written for specific homeworks
(likely you haven't done this) and may contain any problems you've written
for specific homeworks (though you could have put them elsewhere in your
templates directory). If these directories exist and are non-empty, you
probably want to click on them too.
- After you've selected all the relevant files and folders, click on "Make Archive."
- This makes a file called MathXXX-CRN.tgz in the templates directory.
- Select (click on) this, and click on "Download." This downloads it to
your local desktop.
- Now log into the course you wish to copy these homeworks to.
- go to File Manager in this course, click on "Browse."
- Browse to the file you just downloaded in the previous steps, and click
on "Upload" with the boxes "Unpack archives automatically" and "Delete them"
checked.
- (Almost done) Now to to Hmwk Sets Editor, and use "Import Multiple
Sets from" and select all the .def files you want to make into homeworks (oh,
and you probably want the "assign to all users" option.
- What to do if you find a broken problem in the problem library is
described
here. If you find a broken problem in the Math 111 or Math 112
supplied problem sets, please let Mike
Price know.
-
On Choosing Good Problems:
Think about what homework is for. It is practice so that students can
learn skills (it isn't a test of skills they've already learned,
though occasionally you may give review problems aimed at testing
already learned skills).
-
For this reason, multiple choice problems are almost always a bad idea
on homework (though they can be fine on quizzes or test). Students
tend to try to make educated guesses on multiple choice problems
rather than to work them out. This is true even if you restrict the
number of attempts that they get, except then they tend to both guess
and be anxious.
-
Multiple part problems which are coded so that WeBWorK does not tell
the student which parts are right or wrong are typically very
frustrating for students (you can only tell this by
looking at the code. If there is a line "showPartialCorrectAnswers =
0;" then you are looking at such a problem).
Multiple choice problems
are often coded this way to make them harder to solve by guesswork. I
think the additional frustration of not being able to see where there
mistakes are erases any possible pedagogical benefit of making it
harder to solve the problem by guesswork. Student frustration makes
it harder for them to derive the pedagogical benefit from doing the
homework.
-
The best problems in most ways are problems where the answer
is a number, a function, or some other algebraic expression which
can't be arrived at through guesswork. Then there is no reason to
hide partial progress, and usually no reason to limit the number
of possible answers.
- Of course you want to assign problems that develop the skills
you are trying to teach, and you want to know what skills you
think the problem you've chosen is likely to develop so you can
tell students (if they ask) what the point of the problem is.
- There are skills that are difficult to teach through WeBWorK (or
through homework in general). Sketching graphs is one such skill.
There are good WeBWorK questions you can ask (for example: given a
graph of x^2 and a graph of some transformation of x^2, find the
transformed function that gives that graph).
But if I was committed to teaching my students how to sketch a certain
kind of curve, I would do it outside of the homework process. I would
have students do a worksheet in small groups, in class on Wednesday
(say). I would assign some practice problems (not to be graded) for
them to do on their own. And I'd tell them I'll give them a brief
quiz on Friday. Obviously this is more work, but it is also more
likely to give a measurable result.
- Good sources of information by other authors:
- The main wiki
page for WeBWorK. The "forums" are often good sources of
information for dealing with common problems.
- The
Introduction to
WeBWorK page at the MAA.
- A
day
in the life of an instructor.
- For writing problems I'd start with the samples and other
information listed
here and
you might also benefit from this page on author training.
Last change: September 2009.