2011-12-18 18 views
13

Enseño estadísticas de pregrado, y estoy interesado en administrar asignaciones personalizadas en línea. Ya he resuelto una parte del rompecabezas, la generación de una versión múltiple de una pregunta usando latex/markdown + knitr/sweave, usando seeds.Personalizar asignaciones en línea para una clase de estadística

Ahora estoy interesado en desarrollar un sistema basado en la web, que usaría las diversas versiones generadas, y administrar una diferente para cada estudiante, en línea. He investigado varios sitios relacionados con formularios (google docs, wufoo, formsite, etc.), pero ninguno de ellos permite la creación programática de cuestionarios.

Estoy etiquetando esto con R ya que ese es el idioma con el que estoy más familiarizado, y es clave para resolver la primera parte del problema. Sé que hay varios marcos basados ​​en la web para R, y me preguntaba si alguno de ellos es adecuado para este trabajo.

No soy contrario a las soluciones en otros lenguajes como Ruby, Python etc. Pero la consideración clave es la capacidad de entregar programáticamente asignaciones en línea. Conozco herramientas como WebWork, pero requieren el uso de Perl y las interfaces suelen ser bastante torpes.

Siéntase libre de agregar etiquetas a la publicación, si cree que me he perdido un marco que sería más adecuado.

EDITAR. Permítanme dejarlo en claro dando un ejemplo. Actualmente, si quiero administrar una tarea en línea, simplemente podría crear un Formulario de Google, enviar el enlace a mis alumnos y recopilar todas las respuestas en una hoja de cálculo, y calificarlo automáticamente. Esto funciona, si solo tengo una versión de la tarea.

Mi pregunta es, si deseo administrar una versión diferente de la tarea para cada alumno, y recoger sus respuestas, ¿cómo puedo hacer eso?

+0

¿Cuál es la pregunta? ¿Cómo hacer un sitio web? –

+0

Me gusta la redacción, pero echo de menos la pregunta ... – clyfe

+0

Consideraría php, pero esa es una opinión personal. Solo una idea, pero implemente las preguntas en la tabla de la base de datos, luego, si se le ha dado a un alumno, tiene una columna de bandera para establecer (0 o 1) si se ha emitido. A continuación, utilice la consulta SQL aleatoria para seleccionar una pregunta aleatoria que no se haya marcado. No es demasiado elegante, pero es lo primero que se le viene a la mente :) –

Respuesta

0

Acabo de tropezar con el paquete ?exams en R: Link to the CRAN site. ¿Podría ser esto algo para ti?

+0

Conozco el paquete 'examenes'. Ayuda a generar múltiples versiones de una pregunta. Esa es la parte del problema que ya he resuelto :-) El problema ahora es cómo administro las múltiples versiones en línea, una por estudiante. – Ramnath

+1

¿qué tal usar php y una base de datos mysql? – Seb

9

La forma en que ha formulado su pregunta no está muy claro por qué tiene que marcar el trabajo de los estudiantes en línea. Especialmente desde que dices que generas asignaciones usando sweave. Si usa R para generar las preguntas (aleatorias), entonces realmente tiene que usar R para marcarlas (o generar el conjunto de datos).

Para mis cursos, utilizo un par de estrategias.

  1. Para el examen de fin de año (~ 500 estudiantes), cada alumno obtiene un conjunto de datos único. Los estudiantes inician sesión en un sitio web simple (utilizamos pizarra porque la Universidad ya la tiene configurada). Todos los estudiantes responden las mismas preguntas, pero usan su propio conjunto de datos único. Por ejemplo, "¿Cuál es el significado"? Las respuestas están marcadas sin conexión con un guión R.

  2. En mi curso introductorio R, los estudiantes cargan sus funciones R y los ejecuto y los marcan fuera de línea. Utilizo sweave para generar un pdf único para cada estudiante. Su pdf muestra dónde perdieron las marcas. Por ejemplo, no usaron los argumentos nombrados correctos.

Acoplamiento de un formulario web simple con marcado fuera de línea le da mucha flexibilidad y es bastante sencillo.

+0

¡Un enfoque interesante! Utilizo R para calificar mis tareas también, y eso es lo que quise decir con 'automáticamente' calificarlas. También podría lograr esto en Google Docs, creando un formulario común para recopilar respuestas, pero enviando una versión diferente de las preguntas a cada alumno. – Ramnath

2

Encontré una posible solución que podría funcionar usando el paquete RGoogleDocs. Estoy publicando esto como una respuesta solo porque es largo. Todavía estoy interesado en mejores enfoques, y por lo tanto mantendré la pregunta abierta.

Aquí está la esencia de la idea, que aún no se ha probado.

  1. Crea múltiples versiones de cada tarea usando knitr/Sweave.
  2. Subirlos al GoogleDocs usando uploadDoc.
  3. Comparta un documento por alumno utilizando setAccess, que modifica los controles de acceso.
  4. Crea un Formulario de Google común para capturar las respuestas finales de cada alumno.

La ventaja que veo es doble. Una, dado que todas las respuestas finales se capturan en una hoja de cálculo, puedo acceder a ellas con R y calificarlas automáticamente. Dos, dado que tengo acceso a todas las asignaciones completadas en Google Docs, puedo hojearlas y proporcionar comentarios individuales según sea necesario (o dejar que algunas de mis TA lo hagan).

Proporcionaré una actualización, si consigo que esto funcione, y tal vez incluso cree un paquete R si sería útil para otros.

2

Sé que esto fue preguntado hace mucho tiempo, pero creo que hoy la mejor solución es el paquete de exámenes más Moodle.

Los exámenes del paquete ahora pueden generar preguntas de XML Moodle que pueden cargarse en la plataforma Moodle, ya que los estudiantes pueden resolver los ejercicios en línea.

Este es un ejemplo de una pregunta hecha con el paquete de exámenes y cargada en Moodle.

enter image description here

Cuestiones relacionadas