Features & Development

feature request: grade sheet integration

feature request: grade sheet integration

by Siman Wong -
Number of replies: 7
For several years I have been trying to convince colleagues in my and other schools to switch to webwork for multi-section courses. The one common pushback is the lack of grade sheet integration:

(1) Be able to load quizzes/midterms/final exam grades into webwork and have webwork compute the course grade;

(2) Allow students to view midterm/quiz grades like they can with their webwork homework grades.

(2) is gravy, but (1) is the key sticking point to webwork adaption.

I really like webwork and I appreciate everyone's effort. Thanks for listening!
In reply to Siman Wong

Re: feature request: grade sheet integration

by Arnold Pizer -
Hi Siman,

What you can do (and what I always did when using WeBWorK) is to score sets and then download the scoring file to say Excel, add midterm/quiz grades, use Excel to compute the grades and then upload the whole scoring file to WeBWorK. I would always email students all their scores.  In a class of 300-400 I would always find some students for whom the TA's failed to report quiz scores. If I didn't email students all their recorded scores, the ones with missing quiz scores would never have known some of their scores were not reported.  

I think the main problem with your request is with "have webwork compute the course grade".  We don't want to recreate Excel in WeBWorK.  Maybe there are open source spreadsheet modules that we could plug into WeBWorK.  For example does anyone have any experience with SocialCalc - Open Source spreadsheet on JS http://plugindetector.com/socialcalc .

In reply to Arnold Pizer

Re: feature request: grade sheet integration

by Dick Lane -
Hi Arnie,

Although I'm fairly sure your procedure involves use of a Merge File selected within the Email tool, I'm unsure about some details.

a)  how much of the scoring file format must appear in initial columns of the merge file?

b)  does the merge presume same order in the merge file and in the list of selected students?  If not, is $SID the key used for the merge?

c)  if the intent is to send a detailed report of scores, do you have an automated procedure to generate a mail template file?  E.g., something of the form (with "WeBWorK #" replaced with actual name of the assignment and the "out of #" being autogenerated)
Hi $FN $LN,
Your recorded scores for Math 235 are
WeBWorK 1 = $COL[8] out of 15
WeBWorK 2 = $COL[9] out of 12
Quiz 1 = $COL[55]
Quiz 2 = $COL[56]
Test 1 = $COL[57]
WeBWorK 3 = $COL[10] out of 17

d)  It's unclear whether Siman's colleagues might want a student to be able to view her/his quiz & test scores online.  I suspect that would require revision of database structure.  (DG: another "user story")

Thanks for the reminder about some valuable ways to use email within WeBWorK.

In reply to Dick Lane

Re: feature request: grade sheet integration

by Arnold Pizer -
Hi Dick,

The general description is at http://webwork.maa.org/wiki/Sending_Email

Regarding your first two questions I'll tell you what I think is going on, but I haven't looked at the code in ages (and haven't used the feature with students since I became a ski bum quite a few years ago now).  What I always did was to score a set (actually I don't recall if I had to even select one set but now WeBWorK is maybe too "smart" and will not let you score 0 sets) and use that file as a template for your merge file.  How many columns are required I'm not sure but I believe the first two and I would definitely keep the first four. The order of students in the file is not important.  WeBWorK 1 used the $SID as a key (which is why it is the first column) but in WeBWorK 1 the $SID was forced to be unique and it is not forced to be unique in WeBWorK 2. So I am 99.999% sure that WeBWorK 2 uses the $LOGIN as the key and most likely assumes this is in the second column.

There is no automated procedure for generating the email template file and I think this would not be practical as different people may want to do very different things.

In your example Test 1 = $COL[57] remember you can use $COL[-2] for the second to last column which may be a lot easier than counting from $COL[1].

I never used the feature but I am virtually certain that you can use this feature to allow students to view quiz & test scores online.  Note that if you click on "Grades" at the bottom you see:

There is no additional grade information. The spreadsheet file /opt/webwork/courses/pizer_course/templates/email/report_grades.msg cannot be found.

I think that all you have to do create your email with the name "report_grades.msg" (using the merge file you want) and WeBWorK will do the rest.

In reply to Siman Wong

Re: feature request: grade sheet integration

by Edward Sternin -
Although this is a rather old thread, I want to revisit this issue. I agree with the original poster: WeBWorK can replace an LMS rather than integrate into an existing one, and the inability to do that is limiting its adoption, certainly at my institution, and I suspect at others.

WW already has: class list management, role-based secure access, a flat average calculation. All that is missing is the addition of dummy problem sets to create spaces for TA's to enter externally obtained scores (labs, midterms, final), and a weighted average calculation, with manual overrides by the instructor, with a way of setting up the relationships.

Is this difficult to do, or is there opposition in principle to this within WeBWorK community?

Exporting just the WW grades, including them into a spreadsheet, exporting the .cvs from the spreadsheet back into WW, creating a separate format-controlling script to extract just the right bits of information... this is a rather complex and error-prone work flow.

The venerable old text-based sc (Spreadsheet Calculator) or an equivalent piece of external software running server-side could be integrated, could it not, to achieve all this? For example, rather than importing the text-only .csv, import relations contained in an .sc (or a .xls) file, to bypass the need for writing a gradebook management tool, and have it import named fields and generate text-only output, all within WW. This could be a minor extension to the importation of the class list itself, one would upload class list **AND** the grade algorithm as one relations-defining file.

I have used this scheme in the past, with php-based server-side tools. The trick would be to invoke an external script and pass the WW user data to it (id and all WW-originating grades), which I do not know how to do.
In reply to Edward Sternin

Re: feature request: grade sheet integration

by Danny Glin -
To answer your question, I don't think that there is opposition to this within the community. The nature of the WeBWorK community is that individuals work on the things that are most important to them. If a particular feature doesn't exist in the system, it is likely because no one has considered it important enough to them to spend their own time developing it.

Aori Nevo has done some initial work on a gradebook in WeBWorK. I'm not sure if it includes the functionality you desire, but it may be a good starting point to add on the features you are looking for.

From my personal perspective, our University has an institutionally supported LMS (D2L Brightspace), so it makes more sense for me to use our LMS as the main course site, with WeBWorK being a secondary tool. Our LMS (as with most) offers additional tools beyond the gradebook, such as the ability to post documents, discussion forums, surveys, etc., and with the current version of WeBWorK supporting LTI, the students don't even have to log in to WeBWorK separately, as all of the account management is all handled by the LMS.

One alternative is to look at installing Moodle, and then connecting WeBWorK using LTI. I understand that this would mean installing a second system, but you can set up automatic grade passback from WeBWorK to Moodle, and then you can manage your gradebook and other course materials in Moodle.
In reply to Danny Glin

Re: feature request: grade sheet integration

by Edward Sternin -
Thanks for your reply and a pointer to Aori Nevo's work, though its status is not clear at the moment from the post. Has it been integrated into some development version, as intended in 2017?
Also, not clear from the snapshots if additional, non-WW columns can be added to it and manually filled.

I am not afraid to contribute time, but WW is too complex with no introductory programmer's manual to get into casually. I am prepared to find some money to pay someone who is more experienced with it, to have this completed, but I would break things if I start doing it myself.

At my school, the LMS in use is Sakai, but "institutional support" is a joke, and integration with WW is minimal, and not clear if it is still going to be used a couple of years from now, so I do not want to invest any effort in it. I find none of the LMS features you mention are useful to me. I used it just as a gradebook a couple of times, and found it supremely inconvenient, and so now I do all my marking off-line, and the students do not get to monitor their progress. Synchronizing with Sakai once a week is too much work, I only do it once at the end of the course, and only for final grades.
In reply to Edward Sternin

Re: feature request: grade sheet integration

by Jan Hlavacek -
 While I am not in principle opposed to integrating some sort of gradebook or spreadsheet functionality into WeBWorK, I expect there would be some issues:

  1. Privacy: there are regulations concerning handling private information such as grades, for example, whatever gradebook WeBWorK implements, in order to use it in the US, it will have to comply with the FERPA. 
  2. I have a bad feeling about this idea simply based on my experience with numerous proprietary publisher provided solutions such as MyMathLab. These all include complicated gradebooks, class management tools and whatnot, but in the end they are not really very good at what they are supposed to do, that is an online homework and exam system. Havig an integrated gradebook would be nice, but the main emphasis for WeBWorK should always be, IMHO, to be the best system for delivering homework, quizzes etc.
  3. Right now exporting grades from WeBWorK is fairly easy, and as far as I can tell, the LMS integration also works well.  I just experienced a minor end of semester meltdown while trying to export grades from MyMathLab course and import them into our LMS.  In te past I worked with a clicker system in couple of my classes that implemented a complete extremely complicated student tracking system, with database that icluded things like free lunch status and so on, but it was completely impossible to simply export student clicker scores at the end of the semester.  I spent like 8 hours trying, and anded up giving everybody full credit on the clicker portion of their grades. I don't want WeBWorK to become like that.
All that said, if anyone wants to implement spreadsheet like capabilities for WeBWorK, you may want to take a look at the Gamma