WeBWorK Main Forum

Self-enrolment for students

Self-enrolment for students

by Joseph Lo -
Number of replies: 4
Hello,

I am working on an online assessment and would like to see if there is a way to let students enroll themselves into a WeBWorK course. Since I don't know who exactly are going to take these tests, obtaining a class list is impossible. But for any students who take the tests, I would like to have their progress saved so they can continue any incomplete tests later. I also need to keep track with the students who actually took the tests. 

If WeBWorK does not have built-in functions for self-enrolment, is there a workaround for this, e.g. make a webpage that can send registration information to WeBWorK so it can automatically add a student in the class list? Thank you very much.

Joseph
In reply to Joseph Lo

Re: Self-enrolment for students

by Michael Gage -
Hi Joseph,

WeBWorK doesn't have a built in mechanism for self-enrolling students. It would be a useful feature but hasn't been urgent enough that anyone added it to the system. There are hooks that would allow it to be added through the Authen and Authz modules.  Similar modules which have been added are CAS, Cosign  and Compass.  LDAP verification and LTI have also been added to these hooks.  Adding a native "enroll by email" feature  would be a project, not a huge one, but it would take some time to get it right.

The quick fix alternative that comes to mind is to use Moodle or some other LMS (VLE) as a front end.  I use Moodle, which has a self-enrollment feature, and it will then automatically log the student into a WeBWorK assignment or gateway quiz.  Now that LTI has been added this kind of interoperability is available with Blackboard, D2L, Canvas and so forth. Let the LMS do the email enrollment and then use LTI's single sign method on to call up WeBWorK, enroll the student in the course and give them an assignment. 

Does anyone know of a light weight LTI capable app that simply does email registration and enrollment?

Some partial documentation:
and LTI
http://webwork.maa.org/wiki/LTI-Basic_Authentication
with updated information at

Gavin LaRose at U. of Michigan has worked with Cosign and also uses WeBWorK for placement.  Pan Luo at UBC has created a shibboleth authentication module

Some others with more direct experience creating new authentication methods may chime in here. 
In reply to Joseph Lo

Re: Self-enrolment for students

by Alex Jordan -
The closest thing that I can think of would be if your school has an LMS, and you set up a course that uses LTI with the LMS. It would have to be an LMS with a course where any of the potential users has access to the course. When they would visit the LMS course, they would be able to enter a link that would auto-create their account in the WeBWorK course based on their LMS account details.

I'd advise that you really need a gatekeeper like this. Otherwise a single disgruntled student could "self-enroll" so many fake accounts to essentially mount a denial of service attack. Also by going through your LMS you would know for sure which WeBWorK user names are associated to which student.

So the question is, can you create a course in your LMS that either everyone is enrolled in automatically, or it's easy for the student to self-enroll.
In reply to Joseph Lo

Re: Self-enrolment for students

by Joseph Lo -
Thanks very much, Michael and Alex. I will look into LTI.

It is a good idea to prevent anyone to flood the system by having a gatekeeper. We are using D2L at our school so this can be an option. We just worry that if things can be messed up after future D2L upgrades. Past D2L upgrades have caused some problems with connectivities between D2L and another system. Hope it works better with WeBWorK.

Thanks.

Joseph
In reply to Joseph Lo

Re: Self-enrolment for students

by Danny Glin -
Because LTI is a standard, I would hope that D2L upgrades wouldn't break compatibility, but you never know.
You can follow the D2L-specific instructions for WeBWorK LTI integration. Please post if there are any issues with those instructions.