Question

I teach undergraduate statistics, and am interested in administering personalized online assignments. I have already solved one portion of the puzzle, the generation of multiple version of a question using latex/markdown + knitr/sweave, using seeds.

I am now interested in developing a web-based system, that would use the various versions generated, and administer a different one for each student, online. I have looked into several sites related to forms (google docs, wufoo, formsite etc.), but none of them allow programmatic creation of questionnaires.

I am tagging this with R since that is the language I am most familiar with, and is key to solving the first part of the problem. I know that there are several web-based frameworks for R, and was wondering whether any of them are suitable for this job.

I am not averse to solutions in other languages like Ruby, Python etc. But the key consideration is the ability to programatically deliver online assignments. I am aware of tools like WebWork, but they require the use of Perl and the interfaces are usually quite clunky.

Feel free to add tags to the post, if you think I have missed a framework that would be more suitable.

EDIT. Let me make it clear by giving an example. Currently, if I want to administer an assignment online, I could simply create a Google Form, send the link to my students, and collect all responses in a spreadsheet, and automatically grade it. This works, if I just have one version of the assignment.

My questions is, if I want to administer a different version of the assignment for each student, and collect their responses, how can I do that?

No correct solution

OTHER TIPS

The way you have worded your question it's not really clear why you have to mark the students' work online. Especially since you say that you generate assignments using sweave. If you use R to generate the (randomised) questions, then you really have to use R to mark them (or output the data set).

For my courses, I use a couple of strategies.

  1. For the end of year exam (~500 students), each student gets a unique data set. The students log on to a simple web-site (we use blackboard since the University already has it set up). All students answer the same questions, but use their own unique data set. For example, "What is the mean". The answers are marked offline using an R script.

  2. In my introductory R course, students upload their R functions and I run and mark them off line. I use sweave to generate a unique pdf for each student. Their pdf shows where they lost marks. For example, they didn't use the correct named arguments.

Coupling a simple web-form with marking offline gives you a lot of flexibility and is fairly straightforward.

I found one possible solution that might work using the RGoogleDocs package. I am posting this as an answer only because it is long. I am still interested in better approaches, and hence will keep the question open.

Here is the gist of the idea, which is still untested.

  1. Create multiple versions of each assignment using knitr/Sweave.
  2. Upload them to GoogleDocs using uploadDoc.
  3. Share one document per student using setAccess which modifies access controls.
  4. Create a common Google Form to capture final answers for each student.

The advantage I see is two-fold. One, since all final answers get captured on a spreadsheet, I can access them with R and grade them automatically. Two, since I have access to all the completed assignments on Google Docs, I can skim through them and provide individual comments as required (or let some of my TAs do it).

I will provide an update, if I manage to get this working, and maybe even create an R package if it would be useful for others.

I know that this was asked a long time ago, but I think that today the best solution is the package exams plus Moodle.

The package exams can now generate XML Moodle questions that can be upload to Moodle platform as the students can solve the exercices on-line.

This is an example of a question made with exams package and uploaded to Moodle.

enter image description here

i just stumbled upon the ?exams package in R: Link to the CRAN site. could this be something for you?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top