Building Problem Sets


  1. We will suppose we are building "set4" for course "math128".

  2. Work in the "Dev" directory first! (cd into the math128 template directory: math128-Dev/templates/ )

  3. First we copy some template files to work with. In particular, we need the files and directories: The easiest way to get these files is to use the script 'makeset.pl':
    [user@webwork:templates]$ makeset.pl
    makeset.pl <set number> <num problems>
       This sets up a .def file and set directory in a Dev directory.
       makeset.pl is to be run from a template dir in a Dev directory.
    
    So, for us, we will need to know how many problems are in set4, lets say there are 11 problems. We then type:
    [user@webwork:templates]$ makeset.pl 4 11
    
    Number of Problems: 11
    Set Number        : 4
    Set Directory     : set4
    Def file:         : set4.def
    Continue? (y/n)
    
    Type "y" to continue and the template files will be copied over. If the files already exist, the script will alert you to this fact.

  4. Edit the definition file set4.def accordingly:

  5. Edit the problem files (these are the .pg files in the directory set4/)

  6. Build the problem set:

  7. Test the problems extensively in the Dev directory on the web. Have the instructor for the course test the files too. Some notes:

  8. As soon as you are sure the problems have been tested, copy the files to the course directory. The easiest way to do this is to use the script postset.pl: Essentially what this does is "cp set4.def ../../math128/templates/" and "cp -R set4 ../../math128/templates/". Here is how to use the script:
    [user@webwork:templates]$ postset.pl
    postset.pl <set number>
      This command is to be performed in the template directory of the Dev dir
    
    postset.pl <4>
    
    It will not allow you to post a set that has already been posted.