How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Christian Seberino - Number of replies: 18Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Davide Cervone -Just something to think about (or check into).
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Dick Lane -Furthermore, my lay-interpretation of FERPA would be that a parent logging into a student's WeBWorK account is marginally acceptable IFF the student initiates the request to the parent and the student provides the username/password. On the other hand, I suspect that if a school has published policy which restricts use of its resources to those with specific authorization, then I think a parent would need to request such authorization from the school rather than the student.
I suggest two extensions of WeBWorK's current feature allowing a student to see her/his own WeBWorK scores.
a) include a summary line: total-earned out of total-possible
b) adapt the mail-merge ability in WeBWorK's email so that an instructor can upload a CSV with non-WeBWorK score info. In this case, conformity of the WeBWorK installation with FERPA is (probably) unchanged.
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Christian Seberino -Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Dick Lane -Discussion at
http://www.naceweb.org/public/ferpa0808.htm
seems useful. One source of official info is at
http://www.ed.gov/policy/gen/guid/fpco/ferpa/index.html
URLs for other online sources of authoritative info will be welcomed.
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Christian Seberino -Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Christian Seberino -Even for public institutions it would probably be useful to extract
scores without needing to log into Webwork perhaps.
Is it possible without doing some complex MySQL query?
cs
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Andras Balogh -Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Dick Lane -"I realize the vast majority of WeBWorK installations are at colleges and universities subject to severe constraints about release of private data about educational status and performance of a student --- e..g., FERPA regulations in the US. On the other hand, a few of us serve underaged students in a middle or high school or who are being home-schooled. A parent of a minor child (age < 18 years) is entitled (in the US) to some information about educational performance of their child (during a parent-teacher conference or in some other fashion). I request suggestions for legally providing info to a parent about their minor child's scores within WeBWorK in a simple/automated manner."
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Davide Cervone -I'm looking into how it can be done. Sorry to have hijacked the thread.
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Davide Cervone -An alternative, however, is to use the Scoring Tools page to get a CSV file containing the data, and generate the emails from that. It is not command line, but would not require the parents to log in (just you).
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Christian Seberino -Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Davide Cervone -I wouldn't recommend it unless you are an experienced perl programmer.
Regarding scraping the data from the Scoring Tools page, I have used tools like Selenium and mechanize.
Sorry, I wasn't suggesting that you scrape an HTML page. The Scoring Tools page lets you create a file that you can download and then load into a spreadsheet. So I was expecting you simply to take that file (in CSV format -- comma-separated values, so easily read by a script), and write a script that uses that data to send your emails. The only difference from your original request is that this data has not come from the command line.
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Christian Seberino -Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Gavin LaRose -
Not at all relevant to the question of FERPA, but I've been using a command line script to pull scoring data for a while. I've just added it to the large site admin wiki page, http://webwork.maa.org/wiki/Contributed_Admin_Scripts_%28Large_Installations%29. I named the script wwScoreGetter
. It probably needs to be wrapped in a script to set the requisite environmental variables, as suggested below.
Cheers,
Gavin
Suggestive wrapper:
#!/usr/bin/perl -w use strict; $ENV{WEBWORK_ROOT}='/opt/webwork/webwork2'; $ENV{MOD_PERL_API_VERSION}=2; exec "./wwScoreGetter", @ARGV;
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Robert Mařík -Thank you, great script.
However does not work 6 years later in 2020. It produces the error message related to missing maketext method.
If someone is interested, it is sufficient to add the maketext method to the FakeRequest package near the and of the wwScoreGetter script. I updated in this way the script in WeBWorK wiki and with this fix it should work again (if you customize the part related to the course names as with the original script).
I find this script useful since I can automatically in cron produce (anonymized) reports on progress of students. In this way the students can compare his or her results with classmates. cron, wwScoreGetter and Rmarkdown produce nice statistics easily and automatically. Thank you again.
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Jack Dockery -Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Robert Mařík -I think that you still need to modify the script according to the fact what is your course name and which hw you want to include.
So feel free to modify the parts of https://webwork.maa.org/wiki/WwScoreGetter according to your needs. Also use the wrapper earlier on this page.
Re: How extract all homework scores from Webwork (for a student) in a COMMAND LINE script? (e.g. to send scores in an email to parents)
by Robert Mařík -SELECT x.user_id, sum(x.status*ifnull(x.value, y.value)) as score
FROM `AM-2021-Marik_problem_user` as x
left join `AM-2021-Marik_problem` as y
on x.set_id = y.set_id and x.problem_id = y.problem_id
where user_id like "x%"
group by user_id
order by score desc