A DAY IN THE LIFE OF A WEBWORK PROFESSOR
Informal instructions for using WeBWorK
(Instructions for WeBWorK 1.9). See WeBWorK2 tutorial for newer version.
QUICK OVERVIEW
This document gives details on how one professor actually uses WeBWorK. Most of what is discussed here can be done on
the professor page after you login into your course. See the WeBWork on line documentation for more information on
almost everything. Also the online discussion group http://webhost.math.rochester.edu/webworkdocs/discuss/
is a good place to go for help.
FIRST THINGS FIRST
The professor page is an amazing sourse of information, and has the ability to help a professor do nearly everything
for managing a course. One must note, that the professor page is only accessable to those how have professor privaleges.
This is done by running the Perl script
setProfPermissions.pl mth141 apizer
See Classlist Information for more help on this.
The first thing that needs to be done after this is to make sure and "build" at least one problem set to access all
the features of the professor page. Usually this is easily done by building set 0, which is a problem set designed
to familiarize students with the system, and is generally not worth any points. So, if you do not have full access to
all of the professor page, make sure you build set 0.
VIEWING STUDENT PROGRESS
There are many ways for you to view how your students are doing. You have the option of viewing progress by section,
by recitation, or by individual student. You will see what score the student has, how many attempts it took to get the
right answer, the percent of class that has the correct answer, and many other things.
These features are a good tool to
recognize students that may need additional tutoring, and to find the problem that most students are having trouble with.
Options 1, 2, and 3 on the professor page help go through the class as a whole.
For the individual student, see option 9 ("Examine or modify data for an individual student"). From this page, you can
give the student a different due date on a problem set, view the student's version of the problem, see what they entered
as an attempt, download a paper copy of thier problem set, and other things.
In order to have a successful course, the trick is to create appropriate problem sets. You want the problems to
correctly reflect the topics that are discussed in class, and to be the appropriate difficulty level. Thus, creating
a problem set is one of the most important steps in a maintaining a successful WeBWorK course.
- Picking out Problems
Most of the time it is easiest to just copy problems from the distributed problem library when creating a new problem
set. (If you are writing new problems see below "writing new problems.") Since there are over 3000 problems that are distributed with WeBWorK, it is best if you take some time to go through
the problem library to pick and choose which problems you want to use for your course.
The problem library is set up so that the problems are organized by topic. Problems in the same topic area are in the
same directory, which is a subdirectory of the templates directory of the WeBWorK problem library.
For example, the subdirectory setDerivatives2Formulas contains 46 problems that are all derivatives
involving formulas.
Thus, the first thing you need to do is copy the appropriate directories for your course (and all of their contents)
from the problem library into the templates directory of your private course (mth141priv). You always want
to work from your private course because you don't have any "practice" user's in mth141priv so that even if a student
finds out that mth141priv exists, he or she will not be able to login to mth141priv.
Now that you have the problem library in the templates directory of your private course mth141priv, the best
way to pick problems from the library is to build all of the appropriate sets from the "Build Problem Sets" page in the
professor page.
For example, if you're interested in Derivatives, in the "Build Problem Sets" page, click on setDerivatives1.def,
setDerivatives2Formulas.def, setDerivatives2_5Implicit.def... You can view (or even finish) the problems on
the internet, or download paper copies of the problem sets to decide which ones you like best. From here, pick which
individual problems you want to include in your homework sets.
Now it's time to put together your problem set in your private course. Let's assume you are putting together problems
that are going to make up WeBWorK set 9.
One thing to remember is that you might want a few problems from one topic directory, and
a few problems from another topic directory. For example, you might want problems s2_2_4.pg, ur_dr_2_3.pg
from topic directory setDerivatives2Formulas and the problems s2_5_5.pg, s2_5_8.pg, ur_dr_5_16.pg
from topic directory setDerivatives5ChainRule, and others from other directories as well to all be in set 9.
It is important to understand that you do not have to put all 46 problems from directory setDerivatives2Formulas
in your set 9. If you do this, your problem sets will be too large, and students will not have the full appreciation of
what WeBWorK is all about.
- Set Definition File
Now that you have your individual problems picked out, you have to create a set9.def set definition file
that includes all of the problems that you want to include in set 9. The problems that are defined in set9.def
are the problems that will make up the assignment.
The set definition file set9.def needs to be located in the templates directory. The best way to
create a set definition file is to copy an already existing set definition file and edit it (don't forget to change the
due date!!). Then, you can cut and paste
to edit the set definition file to include the problems you want. See Set definition file format for information on
the format for the set definition file.
Here is a sample file, set9.def, containing 11 problems, 2 from setDerivatives2Formulas, 3 from
setDerivatives5ChainRule, 3 from setDerivatives6InverseTrig, and 3 from setDerivatives8RelatedRates:
setNumber=9 ## optional and ignored - the name of the set is
## derived from the name of the file set9.def.
## In this the name of the set is 9.
openDate = 09/05/02 at 11:00 AM
dueDate = 09/15/02 at 1:00 PM
answerDate = 09/26/02 at 11:00 PM
#paperHeaderFile = set9/paperHeaderFile.pg
#screenHeaderFile = set9/screenHeaderFile.pg
##You can create paper or screen headers for specific
##problem sets. If commented, default will be used
problemList =
setDerivatives2Formulas/s2_2_4.pg, 1
setDerivatives2Formulas/ur_dr_2_3.pg, 1
setDerivatives5ChainRule/s2_5_5.pg, 1
setDerivatives5ChainRule/s2_5_8.pg, 1
setDerivatives5ChainRule/ur_dr_5_16.pg, 1
setDerivatives6InverseTrig/sc3_6_25a.pg, 1
setDerivatives6InverseTrig/sc3_6_33.pg, 1
setDerivatives6InverseTrig/ur_dr_6_1.pg, 1
setDerivatives8RelatedRates/c2s8p2.pg, 1
setDerivatives8RelatedRates/s2_8_12.pg, 1
setDerivatives8RelatedRates/SRM_s2_8_12.pg, 1
There is also a way that you can edit a set definition file over the internet through the professor page. This is a handy
way of doing your editing if you have limited or no shell access. From the professor page, go to the "Build Problem Set"
page. Option 2 on this site is "Simple editing of set definition files." Once again, if you were putting together WeBWorK
set 9, you could edit setDerivatives2Formulas.def and cut and paste from setDerivatives5ChainRule.def,
setDerivatives6InverseTrig.def, and setDerivatives8RelatedRates.def to create set9.def as
above.
- Final Steps
Next you build the WeBWorK set in your private course. Here you have a short classlist file containing a couple
of users and one professor, called mth141priv.lst, which you used to initialize the
mth141priv classlist database. Building a set in mth141priv will build it for these few users.
From the web, go to the prof Page in mth141priv, enter the "Build Problem Set Page", select set9.def
and then build the set.
Now you should have a fully working problem set which is due on 9/15/02. You should make sure to go through this problem
set to make sure that you don't have any errors, and that everything is working correctly. Make sure that your answers
are the same as WeBWorK's answers. Also try getting a hard copy to make sure that you don't have any LaTex errors.
If everything is working smoothly, all that is left to do is to transfer everything
over to your public course. From your templates directory of your private course, type
cp set9.def ../../mth141/templates
Also if you need to, copy all the necessary subdirectories and their files (using cp -r) to ../../mth141/templates/.
Then you can build the set for real by entering the
prof Page in mth141, then the "Build Problem Set Page", selecting set9.def,
and building the set.
Next you precreate the latex2html images. This is useful because all of your problems have latex images, and viewing them
in "typeset" mode is the nicest for viewing. If the images are not precreated, the first time a problem is output in
"typeset" mode, all the images are created on the fly and there is usually a few seconds delay. If many students are
creating images simultaneously, this could take even longer, and you will run into the risk that the images will be
created with errors. If there are errors, the students will not be able to view the problem in "typeset" mode. However, if you use the
precreation script, once
the images are precreated, the "typeset" mode is quite fast.
The precreating script is used by entering:
l2hPrecreateSet.pl mth141 set9.def
Note that this takes a long time as latex2html is a "slow" program (it might take as long as 4-6 seconds
per problem per student on a relatively fast server). l2hPrecreateSet.pl is best run "niced" and in
the background. E.g.
nice /ww/webwork/system/scripts/l2hPrecreateSet.pl mth140a set9.def > set9.log &
which (under many shells) sends all messages to the set9.log file.
Writing new problems
You may want to select problems from the text book which you want to modify into WeBWorK problems.
In order to create a problem template file (i.e. a .pg file), usually you
start with a .pg file containing a problem similar to the one you want and modify it
(see the list of approximately 3000 .pg files distributed with WeBWorK). Make sure to continue working in your private
course.
After creating all the .pg files that are modified text book problems, move to the templates directory
and create a set definition file, as shown above.
When writing your own problems, you will usually have a few errors here and there. To sort through them,
here's a general guideline to help.
Connect to your mth141priv site with your web browser and look at the new set.
First do a Get Hard Copy. Often, you have made a LaTeX error somewhere.
Or perhaps the group ownership and/or permissions of the files was not set correctly.
If there are errors, they will be listed along with a copy of the TeX source file
which was produced.
If you can't see where an error occurs, select the problems one by one.
After fixing any errors and obtaining a postscript or pdf version of
the WeBWorK assignment, look at the assignment for any errors in presentation.
Sometimes, the output is not what you expect.
Note that the .pg files must have permission 660 and group mth141group in order for the webserver
to be able to read and write to them and subdirectories should have permission 770.
You can check permissions by entering ls -l . Permission
660 is listed as -rw-rw---- and permission
770 as -rwxrwx---. You can change the permission of all .pg files in setDerivatives2Formulas to 660 by
entering chmod 660 *.pg when in the setDerivatives2Formulas directory.
If you are lazy, you can set all permissions in templates to 770.
See Constructing Problem Sets for more information.
ADDING NEW STUDENTS AFTER THE COURSE HAS STARTED:
Just go to the Add Student(s) Page and follow the instructions. If you want to
build multiple sets for the new students with different due dates, run the routine multiple times. Adding a student
who is already in the course will not change any information already in the classlist database.
Hint: If it is early in the course and you want to give new students the same due dates that current students have, add
the new students from the Add Student(s) Page but do not build any sets for them there. Then go to the Build Problem
Set page and (re)build the sets that were not built for the new students. (Re)building sets that have already been
built will not alter any data for students already in the set.
CLASSLIST EDITING
From this page you can edit classlist database, give a student a new password, or edit the classlist database for an
individual student. You can also import and export the database, depending on whether you need to update your
database due to students adding or dropping.
- Changing a password
If a student forgets his or her password, you can give them a new password, using option 3 from the Classlist Utilities
page.
- Changing a login name
To change a student's login name, you can give them a new login, using option 2 from the Classlist Utilities page.
- Removing students or changing status
Removing students is easy. Just enter the word "DROP" or the letter "D" (without quotes) in the status
box for the student classlist information (from the Classlist page). You may want to enter a comment
giving the drop date. You can later resurrect the student by changing his or her status to C (for current).
In that case, you may want to go to the Build Problem Set page (or Add Student page) and rebuild the sets
that were not built for the dropped student. (Re)building sets that have already been built will not alter any data
for students already in the set.
- Importing and Exporting Classlists
Importing and exporting can be tricky procedures. Make sure to clearly read all of the instructions before attempting,and
make sure to understand the differences between a classlist database and a classlist file.
Exporting the classlist database (option 5) will export the current classlist database to the selected classlist file.
Importing the classlist database (option 6) will update the classlist database using the information from the selected
classlist file. We used this option when we imported our classlist at the beginning of the semester. See "Classlist
Information" for more details.
Exporting the classlist file (option 7) allows you to download the classlist file so that you can view or edit the classlist
from your personal computer.
Importing the classlist file (option 9) allows to upload the classlist file from your personal computer. Usually you
would do this after exporting the classlist database to a file, downloading and then editing the file in Excel or some
other editor or spreadsheet program.
See the Classlist Utilities page from the professor page for more information and specific help on how to preform
these tasks.
SCORING A PROBLEM SET
You can do scoring from the web. Go to the Professor's Page and then to the Scoring Page.
The scoring procedure creates files (in .csv format) that include the status of the problems, the number
of attempts, and also the final score of the problems. You can download these different files onto your personal computer,
edit them if you need to, and/or sort the scoring files.
You should realize that scoring a problem set is like
writing grades into your grading book, once the grades are entered they are fixed unless you change
them. Whatever a student does after a set has been scored, does not effect the scoring files.
There is no standard procedure of when to do scoring. You may have a few options.
- You can score each problem set right after the problem set is due. This way, you can email your students their homework
grades throughout the semester. The trouble with this is that if you gave a student an extension but scored the set before
the student completed the set, anything the student did after you scored the set would not be recorded. Once the student
has completed the set, you would have to edit the scoring files accordingly by hand.
- You can score all of the problem sets at the end of the semester. This way, there are no problems with extensions and no
major editing needs to be done. The drawback is that you wouldn't be able to send emails to your students.
- The final option is a combination of the other options above. You can score each problem set right after the problem set
is due, email your students if you want, and then score once more at the end of the semester. Scoring a set just appends
the scores to the totals file so if you score a set twice, it will appear twice in the totals file. Thus, if you do this,
you would have to use the totals file accordingly.
It should be noted that the first time a mth141_totals.csv file is created, student names,
sections, and recitations will be taken from the current classlist information. If you score a set after that, the new
information is appended to the mth141_totals.csv file by matching student ID's. If you change a student's
recitation (or name, etc) but keep their student ID, the new recitation will not be written in the mth141_totals.csv
file. If students add or drop the course, this will be handled automatically.
All the scoring files are automatically put in the directory .../mth141/scoring.
Also, it's easy to use e.g. excel to add exam grades to the mth141__totals.csv file.
You can also do scoring from the command line (this is not recommended). To do so follow the directions below.
You should usually work from your templates directory (but this really doesn't matter). To score set 6 enter:
scoreProbSet.pl mth141 6
This creates the files s6scr.csv, s6ful.csv, and s6bak1.csv in your scoring directory.
You will be asked if you want to total the scores in the score file for this set,
and append these totals to the cumulative totals file
mth141_totals.csv. It is always a good idea to answer Y. The first time you do this you will get a lot of messages of
the sort:
No record for PRACTICE4 , ID = 000-00-000d,
in the mth141_totals database. The record will be padded with blanks.
You can ignore all such messages. In general they have to do with automatically handling records
for students who have been added to or dropped from the course.
See Grading problem sets for more information on scoring.
SENDING EMAIL TO STUDENTS
Sometimes, after you score problem sets, you may want to send your students an email discussing thier scores. Other times
you may want to send an email to students with general announcements about your course. There is a useful tool on the
"Professor page" that allows you to send email, which allows you to send personalized emails.
The personalized variables
include: $FN - first name, $LN - last name, $SID - student id number, $SECTION - student's section, $RECITATION - student's
recitation, $STATUS - C, drop, withdrawl, audit, etc, $EMAIL - student's email address, $LOGIN - student's login name,
$COL[3] - third column in merge file, $COL[-1] - last column in merge file.
Here is a copy of the file email10-25-96.msg which is in the email subdirectory of the templates directory. :
From: mailto:apizer@math.rochester.edu
mailto:Reply-To:apizer@math.rochester.edu">
Reply-To:apizer@math.rochester.edu
Subject: mth141: WeBWorK grades and new HW set
Message:
$FN $LN
Dear $FN,
This email message should go to everyone in mth141 for whom I have
an email address.
NEW WEBWORK ASSIGNMENT:
A new WeBWorK assignment (assignment 8) covering the material from
this week's lectures is up on the WeBWorK system. It must be completed
by 2:00am Tuesday, November 5. Remember, assignment 7 must be completed
by 2:00am Tuesday, October 29.
YOUR RECENT SCORES:
Your score on WeBWorK assignment 5 was $COL[-3] points out of a
possible 15 points. Your score on WeBWorK assignment 6 was $COL[-1]
points out of a possible 10 points. Your score on Exam 2 was $COL[-2]
points out of a possible 100 points.
These scores should include any adjustments I have made. If there are
any errors in these scores, please see me.
Have an enjoyable weekend.
Professor Pizer
Now you can send a "personalized" email to your students by merging the above with the mth141_totals.csv file.
Usually you want to be really careful, so first send the email to yourself
by using a short testemail.lst which you create.
testemail.lst is a subset of the mth141.lst consisting of 6 or 7 students, but with all email
addresses changed to your personal email address so that all test messages are sent to you.
After the test email comes to you, and you see that there are no errors, you can go ahead and send your class personalized
emails!
See Sending e-mail for more information.
VIEWING AND EDITING DATA FOR THE INDIVIDUAL STUDENT
There are many times when you might want to view or modify data for the individual student. You would want to do this for
a number of reasons. Perhaps a student is having trouble with an single problem, you can view this student's version of
the problem to help them, or you need to give a student an extension on a problem set, or see the status of this student's
progress. All of this can be done through the professor page.
There are two different ways you can use these utilities. If you know a student's PSVN number, you can go to option 10 in
the professor page. If you don't know this, you can use option 9 in the professor page instead, using the student's name
and problem set name/number.
From here, you can make changes for an individual student. For example, you can extend the due date for an individual
student or change the status (correct, incorrect) or number of allowed attempts on a problem. You will also be able to
download a postscript file of this version of the problem set.
See the professor page for more information on how to use these utilities.
VIEWING AND EDITING DATA FOR THE ENTIRE CLASS
From this page, you can give a new due date on a problem set for the entire class, or change the status of a problem for
the entire class. You can also change header files, or even change the max attempt value. While it is easier to do these
changes before a problem set is built, this gives you the option to change things after building problem sets.
Sometimes (especially for exams), you might want to create paper copies of an assignment.
To do this go to the Download paper copies page.
HOUSEKEEPING UTILITIES
From the "Housekeeping Utilities" page, you can do some housekeeping tasks such as recovering disk space by removing
old tmp files, show users currently logged in, or edit the course homepage. See option 14 for more information.
CREATING AND ADMINISTERING A WEBWORK EXAM
Here is an idea about how to create and administer a WeBWorK exam. The idea is that every student takes the same
identical in-class exam. You can create a standard WeBWorK problem set using the exam questions so that on this set,
each student has an individualized version of the exam questions.
You can give students some 30
hours after the in class exam ends to do the WeBWorK version of the exam. If they get
a problem (or a part of a problem) wrong on the in class exam and the whole problem
correct on their WeBWorK version, they receive 25% of the original value of the part(s)
they missed on the in class exam.
This seems to work quite well and is easy to administer. Mechanically, it works as follows.
First you can create a set of problems for the exam and check that they are OK. For example, use exam2.def as the
set definition file and in that file have setNumber = Exam2 as the first line. Don't put any spaces in the "setNumber",
i.e. write Exam2 not Exam 2.
I do this in my own mth141priv area. I have a testexam.lst consisting of
SS#'s 000-00-000n and login names apizern where n varies from 1 to 9. I also have a
special examHeader.pg file in the exam2 subdirectory which identifies the exam, leaves spaces for
the student's name and SS#, etc.
In exam2.def, I have the line
setHeaderFile = exam2/examHeader.pg so that the special header file will
be used.
Then I build a problem set using this
list. On the web, I look at the nine possible versions of the exam and pick one to use for
the in class version and download two copies of that one. If for some reason I don't like
the samples, I can go to the prof page and
change the seeds of problems or I can adjust the pg files and/or delete and rebuild the set.
This is usually not necessary. This is done
in my private mth141priv area that the students know nothing about and could not
(not knowing my WeBWorK password) access even if they did. On one copy of the in
class version, I write in by hand the correct answers (and as a double check enter these
answers into WeBWorK to make sure they are correct). Next I xerox sufficient copies of the exam (both with and without answers)
for the entire class. I transfer the exam questions to the public version of my WeBWorK course and then
build the set again using the standard probSetHeader.pg and mth141.lst files.
I am very
careful to make sure that the open date in exam2.def is correct (I open it three quarters of
the way through the in class exam). Then I run off paper copies (see down loading paper
copies for an entire class) of the individual versions of the exam. The paper copies are printed
in order, first by section name, then by student name.
At the exam, after a
student hands in his or her completed exam, I give the student a copy of the exam with answers
and a copy of their individual version of the exam. Thus the student can immediately begin to
work on problems which they got wrong on the exam. Giving students these two things is just
a convenience for the students, but one which seems to be appreciated.
If I just wanted to allow students to check whether or not their answers were correct without telling them
the correct answers, I would use the prof page to copy the seeds from the in class exam version to say practice1
in mth140a. That way, Exam2 for practice1 in mth140a would be identical to the inclass exam.
<| Post or View Comments |>
|