At WPI we've been using WeBWorK for freshman calculus placement for
several years. The number of students is much smaller - only about
900 per year, but we have implemented some of the features you
are interested in. Below I've responded to your five technical issues.
1, 2. Enrollment of students and assignment.
When a freshman officially enrolls, they get a computer account username
and password. This information is used to automatically enroll the
student in the placement test course and make assignments. This
is done by directly writing information to the WW mysql database. The
programming is in C, and was not done by me but by one of our outstanding computer support people.
3. Reporting results to the student.
The last problem in the placement test has two parts and uses
Davide Cervone's compoundProblem package. Answering the first
part of the problem sets a value in the WW database that says
the student is done. The student can then go on to the second part
of the problem, which contains a link to an external web site. If the
student clicks on the link, external programming is triggered that
collects information from the WW database, generates a recommendation,
and saves information to an external (to WW) database. It also sets
a field in the WW database that indicates the student has been processed.
The recommendation appears on the screen and is also e-mailed to the student.
If a student chooses not to view the recommendation immediately, there
is a chron job that runs early every morning to process students who
are done with the exam but chose not to see the recommendation
immediately. This generates the recommendation e-mail and writes
the information to the external database.
4. Reports to registrar.
Students, faculty, and academic advising staff can use the web site to
view the recommendation for a particular student or generate summary
reports. More complicated reports can be generated by accessing the
mysql database where the placement info is stored.
5. Retiring students
I have a model placement test course that I use to generate the
placement test course each year. After the end of a placement
cycle, the current course is deactivated, meaning that no more
students are added to that course. Before the next cycle begins, I
create a new placement course.
In the external data base, there is a different table for each cycle.
I'm not sure how much of our experience can be translated to your
very different situation, but it does indicate that at least part of
what you are interested in is possible.
Worcester Polytechnic Institute