Wednesday, January 6, 2016

OPL Statistics

A feature recently added to the development branch of WeBWorK (to be released in 2.12) is the option to display problem statistics in the Library Browser.  You can display local statistics, which are local to your university, or "global" statistics which were generated using data contributed by a number of different institutions.  Find out more below, including how you can contribute your data to the global repository.

If you use the Library Browser in the development version of WeBWorK you may notice that the problems have some extra data in the "header" portion.
The three quantities displayed are:

  • Usage - The total number of students who have had the problem assigned to them. 
  • Attempts - The average number of attempts students have made on this problem. 
  • Status - The average status that students ended up with. 
In general problems with high usage numbers don't have bugs because they have been so thoughoutly tested.  Problems with a large number of attempts are harder for students to do, and if the average status is well below 85% or 90% then it means a significant number of students are never able to do the problem correctly.  (Especially considering most people allow students an unlimited number of attempts.) All three of these quantities are useful when you are deciding to add a problem to your homework set.  Do you intend for all students to be able to do the problem?  How much effort will they need to put in to it? Etc...

The difference between GLOBAL and LOCAL statistics is that Local statistics are generated only from the student data on your WeBWorK server, while Global statistics are generated from a central database of contributed data.  Currently the Global statistics database has data on 23000 problems with an average of 367 assigned students per problem. The data was donated by over 15 different institutions.

How can you use this feature yourself?  It is pretty straightforward.  First you need to set the following variables in your localOverrides.conf file.
# This flag controls if local statistics are shown in the library
$problemLibrary{showLibraryLocalStats} = 1;
# This flag controls whether global statistics will be displayed
$problemLibrary{showLibraryGlobalStats} = 1;
You also need to generate the statistics (or import it in the case of the global statistics table).  To do this just run 
webwork2/bin/update-OPL-statistics
 It is recommended that you run this once at the beginning of each semester to keep your local data tables up to date.  And that's it!  You need to make sure the feature is enabled and that you run the data generating script on a regular basis.  If you want to go a step further you can donate your local data to the central database.  Only aggregate data (e.g. total number of times a problem was assigned, average status on a problem, average number of attempts) is transmitted.  In particular no student data ever leaves your server.  If you decide you want to donate your data just run
webwork2/bin/upload-OPL-statistics
The script will ask you some questions, generate a .tar.gz. file, and upload it to the central server.  It leaves behind a copy of the .tar.gz file in case you want to see what exactly is transmitted.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.