WeBWorK - Tutorial para instructor
Introducción
Bienvenido a la plataforma WeBWorK (https://demo.webwork.rochester.edu/public/, https://webwork.maa.org) para cursos de tareas en línea. En este tutorial aprenderás lo que necesitas para administrar un curso de WeBWorK como instructor. Este tutorial está basado en el tutorial completo de WeBWorK (https://webwork.maa.org/wiki/Instructors) y en nuestra propia experiencia.
El primer paso para utilizar la plataforma WeBWorK en el servidor del Grupo LEMA es solicitar la creación de un usuario administrador de un curso y contraseña, diligenciando este formulario. Recibirás un correo con instrucciones de acceso a la plataforma.
Contenido
1. Hacer ajustes básicos a un curso
1.1. Agregar estudiantes al curso
1.2. Invitar a tus estudiantes al curso
1.3. Ver los problemas que tiene una tarea
1.4. Cambiar la visibilidad y fecha de entrega de una tarea
1.5. Crear un quiz o examen parcial
1.6. Asignar/desasignar tareas a estudiantes
1.7. Cambiar el orden de los problemas o eliminar problemas de una tarea
1.8. Ver el curso como un estudiante (para verificar que todo funciona adecuadamente)
2. Asuntos de calificación de estudiantes
2.1. Ver las respuestas de un estudiante a un problema de una tarea
2.2. Calificar una tarea para toda la clase posterior a la fecha de entrega y descargar los resultados
2.3. Marcar un problema como correcto para toda la clase
3. Crear tareas propias (con problemas propios o del OPL)
3.1. Crear una tarea "en blanco"
3.2. Agregar un problema del OPL en inglés a una tarea (sin editarlo)
3.3. Eliminar problemas de una tarea
3.4. Hacer ediciones a un problema agregado del OPL (volverlo propio)
3.5. Crear un problema en blanco para una tarea
3.6. Editar un problema local
4. Traducir un problema dentro de WeBWorK
4.1. Traducir un problema del OPL de inglés a español
4.2. Algunas cosas importantes para tener en cuenta al traducir
4.2.1. Strings constantes de WeBWorK y su traducción de manera robusta
4.2.2. No traducir comandos internos
5. Operaciones entre cursos
5.1. Hacer una copia de seguridad de un curso
5.2. Crear un curso a partir de una copia de seguridad
5.3. Copiar una tarea con problemas OPL de un curso a otro.
5.4. Copiar una tarea con problemas propios de un curso a otro.
5.5. Crear una copia de un curso (nuevo curso, con otros estudiantes, pero con las mismas tareas que un curso "plantilla")
6. Solución de problemas
6.1. Restaurar la clave de un estudiante
7. Anexos
7.1. Agregar estudiantes automáticamente usando un archivo .csv
7.1.1. Primer paso: preparar el archivo lista_de_clase.csv que se va a subir
7.1.2. Segundo paso: subir el archivo a WeBWorK
7.1.3. Tercer paso: Importar la lista
7.2. Lenguajes PG y PGML
1. Hacer ajustes básicos a un curso
Para ingresar a WeBWorK, visita la siguiente página:
http://webwork.grupolema.org/webwork2/
Allí verás una lista de cursos. Selecciona el curso que te ha sido asignado como profesor. Alternativamente, visita el enlace que recibiste al correo. Ingresa tu nombre de usuario y contraseña que te enviamos y haz clic en `Ingresar`.
Nota: tus estudiantes ingresarán a la plataforma con el mismo enlace que te dimos al correo.
Al ingresar a la plataforma WeBWorK, encontrarás una o varias tareas ya existentes, así como tres usuarios actuales: tú (con tu nombre_de_usuario y en rol de profesor), `admin` (en rol de Administrador) y `admin_no_borrar` (en rol de Administrador); Grupo LEMA maneja estos dos usuarios de administrador.
1.1. Agregar estudiantes al curso
Para agregar los estudiantes manualmente sigue los siguientes pasos:
- Ve al *Editor de lista de clase* en el menú de la izquierda.
- Selecciona `Agregar` y seleccionar el número de estudiantes que se desean agregar.
- Presiona el botón ‘Ejecutar’.
- Llena los campos correspondientes. Los más importantes son:
- ID de usuario (también llamado Nombre de usuario): este va a ser el nombre de usuario de ingreso al sistema. No puede tener espacios. Cada estudiante debe tener un nombre de usuario distinto.
- ID de estudiante: Esta va a ser la contraseña inicial del usuario y después será el identificador único del estudiante (es importante pedir al estudiante que cambie su contraseña lo antes posible, ingresando a sus `Preferencias de usuario` en el menú de la izquierda). Puede ser, por ejemplo, el código del estudiante en la universidad o el colegio.
- Asigna las tareas que desees a los estudiantes (si no se hace acá, lo podrás hacer manualmente después) en la lista justo debajo del texto "Select sets below to assign them to the newly-created users."
- Presiona `Agregar estudiantes` (`Add Students`).
- Saldrá un mensaje de confirmación (dentro de la página misma, no en ventana emergente).
*Nota*: como ves arriba, un estudiante tiene dos IDs: el ID de usuario y el ID de estudiante. Si bien a priori es posible asignar el mismo valor a ambos, también es posible asignarles valores distintos. Cuando un estudiante entra a WeBWorK por primera vez, él ingresa su ID de usuario para su nombre de usuario, y su ID de estudiante para su contraseña. Cuando un estudiante cambie su contraseña, el ID de estudiante no cambia (solo cambia su contraseña).
*Nota*: Los administradores, instructores y asistentes (TA) del curso también son tratados técnicamente como estudiantes.
También se pueden agregar muchos estudiantes de forma automática importando la información en un solo archivo .csv. Consulta el Anexo `Listas de clase`.
1.2. Invitar a tus estudiantes al curso
Cuando ya hayas agregado a todos los estudiantes a la plataforma WeBWorK, es hora de invitarlos. Una opción es enviar un correo a todos tus estudiantes pidiéndoles que ingresen a la plataforma. A continuación se muestra un ejemplo de un correo, que podrás adaptar (asegúrate de cambiar el enlace). En este correo, el profesor tiene un curso llamado MATE23, y los estudiantes tienen como contraseña su id_de_usuario, que es su carnet con un código de 9 dígitos.
Estimados estudiantes:
Ya he habilitado la plataforma WeBWorK para nuestras tareas de práctica este semestre. Para ingresar, hagan clic en el siguiente enlace:
http://webwork.grupolema.org/webwork2/MATE23/
Ingresen con su nombre de usuario de la universidad. Su contraseña inicial es su carnet de estudiante, pero deben cambiarla una vez ingresen. Por ejemplo, la estudiante Carolina Amaya, con nombre de usuario camay y carnet 001123452, deberá ingresar:
Nombre de usuario: camay
Contraseña: 001123452
Para cambiar la contraseña, hagan clic en Preferencias de usuario (este texto está a la izquierda en el MENÚ PRINCIPAL), y allí la podrán cambiar (no olviden hacer clic en el botón Guardar preferencias de usuario, abajo en la página).
1.3. Ver los problemas que tiene una tarea
Si la tarea está asignada a tu usuario, sigue estos pasos:
(Nota: si este no es el caso, asegúrese de asignar la tarea a su usuario siguiendo las instrucciones abajo).
- Ve a Tareas en el menú de la izquierda.
- Haz clic en el Nombre de la tarea que deseas ver. Esto te llevará a una página con la lista de todos los problemas de esa tarea.
- Después, haz clic en el Nombre del problema que deseas ver.
- En esta vista, puedes moverte entre los problemas usando `Problema anterior` y `Problema siguiente`.
- Puedes probar el problema ingresando sus respuestas y presionando `Verificar mis respuestas`. Si además marcas la casilla `Mostrar [ ] Respuestas correctas`, aparecerán las respuestas correctas junto con las respuestas que escribiste.
1.4. Cambiar la visibilidad y fecha de entrega de una tarea
- Ve al Editor de tareas en el menú de la izquierda.
- Ingresa al modo de edición de la tarea que se quiere ajustar presionando el lápiz de edición al lado del nombre de la tarea.
- Cambia las propiedades:
- Visible: Muestra a los estudiantes el nombre de la tarea y la fecha en la que podrán ver y trabajar en los problemas.
- tr: Open Date: Fecha en la que los estudiantes pueden ingresar a la tarea y ver y trabajar en los problemas.
- Fecha de entrega: Fecha y hora en la que los estudiantes pierden posibilidades de enviar nuevas respuestas.
- tr: Answer Date: Fecha en la que los estudiantes van a poder ver las soluciones de los problemas.
- Presiona `Ejecutar` para guardar los cambios (de lo contrario se perderán).
1.5. Crear un quiz o examen parcial
En WeBWorK, todo conjunto de problemas se llama una tarea (problem set en inglés). Al crear una tarea, su tipo de asignación por defecto es “homework” (es decir, tarea usual para la casa). Sin embargo, una tarea puede configurarse para servir como quiz o examen, en un tipo de modalidad llamada `gateway/quiz`.
Una tarea que esté en la modalidad `gateway/quiz` permite, entre otras cosas:
- Un rango de tiempo definido (por ejemplo, 2 horas),
- Que un estudiante tome el quiz más de una vez, si se quiere, lo que cuenta como distintas versiones (útil para quizes de práctica, por ejemplo),
- Ocultar la calificación al estudiante inmediatamente envía el quiz, si así se quiere.
Para crear un quiz, sigue estos pasos:
- Crea una tarea (desde el OPL o desde el Editor de tareas).
- Agrega problemas a la tarea.
- Ve al Editor de tareas en el menú de la izquierda.
- Ingresa al modo de edición de la tarea que se quiere configurar presionando el lápiz de edición al lado del nombre de la tarea.
- Haz clic en el nombre de la tarea.
- En esta nueva página, en el cuadro de Información general, cambia el tipo de asignación escogiendo la opción `gateway/quiz` y presiona el botón `Guardar los cambios`. Esto te abrirá otras opciones de configuración.
- Configura el quiz según tus preferencias. Estas son las especificaciones de cada parámetro:
- Límite de tiempo (Test Time Limit): la cantidad de tiempo dada a cada estudiante para completar el quiz.
- Acabar quiz en la fecha de entrega (Cap Test Time at Set Due Date): si este parámetro se pone en Sí (“Yes”), entonces el quiz debe completarse en la fecha de entrega, sin importar que todavía quede tiempo según el primer parámetro.
- Número de envíos con calificación (Number of Graded Submissions): Típicamente en 1, este parámetro indica cuántas veces puede el estudiante enviar cada versión del quiz.
- Intervalo de tiempo para versiones nuevas (Time Interval for New Test Versions): Este parámetro dice cuántos minutos se dejan para tomar cada versión del quiz (0 = “infinito”). Lee el siguiente parámetro para entender mejor.
- Número de quizes por intervalo de tiempo (Number of Tests per Time Interval): (0 = “infinitos”) este parámetro da el límite de quizes que cada estudiante puede tomar en cada intervalo descrito por el parámetro anterior.
Ejemplo: Si Time Interval for New Test Versions = 0 y Number of Tests per Time Interval = 6, entonces el estudiante podrá completar en total hasta 6 versiones del quiz si le queda tiempo.
- Orden aleatorio (Order Problems Randomly): Si este parámetro se pone en TRUE, los problemas se mostrarán en orden aleatorio a cada estudiante. Esto incide en la forma en que los resultados se mostrarán. Se recomienda primero ensayar a crear quizes donde este parámetro esté en FALSE, si no se quiere todavía profundizar en aspectos de vista de calificaciones.
- Número de problemas por página: indica cuántos problemas verá el estudiante en cada página (0 = todos). Esto puede ser útil cuando se quiere que el estudiante vaya enviando resultados parciales de preguntas, sin poderse devolver.
- Mostrar calificaciones (Show score on finished assignments): Si este parámetro está en TRUE, los estudiantes podrán ver sus calificaciones en versiones del quiz cuando ya no tengan tiempo o intentos disponibles.
- Mostrar las respuestas de los estudiantes (Show student work on finished assignments): Si este parámetro está en TRUE, los estudiantes podrán ver las respuestas que enviaron en versiones del quiz cuando ya no tengan tiempo o intentos disponibles.
- Contraseña (Set-level Password): Este parámetro solo es para los quizes supervisados. Es la contraseña requerida para comenzar el quiz.
- Asigna el quiz a los estudiantes. Estas son unas indicaciones importantes que debes compartir con los estudiantes para que respondan correctamente el quiz: https://docs.google.com/document/d/e/2PACX-1vRI_GyGncf82RiE9clUo-IfIoyhbCYEeqEguhFltjoj4ZLW22mbKT4BrRz_E1mfxY0pzRaswWyFF4bW/pub
Recursos adicionales:
1.6. Asignar/desasignar tareas a estudiantes
- Ve al Editor de tareas en el menú de la izquierda.
- En la parte de abajo aparecerá una tabla con todas las tareas del curso. En la fila de la tarea a la que quieres cambiar asignaciones (llamémosla XXXX):
- Haz clic en el enlace de la columna `tr: Edit Assigned Users`. Esto te lleva a la página Usuarios a los que se ha asignado la tarea XXXX.
- Haz los cambios que desees en la columna `Asignado(s)`, marcando y desmarcando las casillas de los estudiantes.
- Presiona el botón `Guardar` para guardar los cambios. Debes ver el siguiente texto abajo en fondo verde: “Se han reasignado problemas para los estudiantes seleccionados”.
Nota: alternativamente puedes presionar el botón `Asignar a todos los usuarios actuales` para automáticamente asignar la tarea a todos los usuarios actuales del curso.
1.7. Cambiar el orden de los problemas o eliminar problemas de una tarea
- Ve al Editor de tareas en el menú de la izquierda.
- Ingresa al modo de edición de los problemas de la tarea que quiera ajustar presionando el enlace en la columna `Editar problemas` (`tr: Edit Problems`). El texto de este enlace muestra cuántos problemas tiene la tarea actualmente.
Para ver una vista previa de un problema:
- Selecciona el botón `render problem`, justo debajo del número del problema.
Para cambiar el orden:
- Selecciona la flecha al lado del número del problema y mueve el problema a la posición que desees.
Nota: si deseas re-enumerar los problemas (depende de si tus estudiantes ya los han visto o no), selecciona `Hacer que los problemas queden numerados de forma consecutiva desde 1` en la parte de abajo.
- Presiona `Guardar cambios` (de lo contrario los cambios se perderán).
Para eliminar un problema:
- Marcar la casilla `[ ] eliminar` del problema o problemas que desees eliminar.
- Si deseas re-enumerar los problemas (depende de si sus estudiantes ya los han visto o no), seleccionar `Hacer que los problemas queden numerados de forma consecutiva desde 1` en la parte de abajo.
- Presiona `Guardar cambios` (de lo contrario los cambios se perderán).
1.8. Ver el curso como un estudiante (para verificar que todo funciona adecuadamente)
- Ve al Editor de lista de clase y en la columna `Nombre de usuario` haz clic en el usuario del estudiante que se quiere usar.
Esto ingresa al modo de navegación de `Actuando como estudiante xxxx`, lo cual se indica en la parte superior derecha de la página.
Para regresar al modo de navegación del instructor:
- Presiona `Volver al usuario original` en la parte superior derecha de la página.
2. Asuntos de calificación de estudiantes
2.1. Ver las respuestas de un estudiante a un problema de una tarea
WeBWorK permite ver todos los intentos de respuestas de un estudiante a un problema determinado de una tarea determinada, mostrando cuáles se ingresaron antes de la fecha de entrega y cuáles después.
[[ FALTA ]]
2.2. Calificar una tarea para toda la clase posterior a la fecha de entrega y descargar los resultados
- *Ve a Herramientas de calificación*
Enlace: https://wiki.ubc.ca/Course:MATH110/Archive/2010-2011/003/Homework/WebWork
2.3. Marcar un problema como correcto para toda la clase
En caso que se identifique un error o un comportamiento indeseado en un problema, la forma de "anularlo" es marcarlo como correcto para todos los estudiantes. Esto se hace de la siguiente manera:
[[ FALTA ]]
3. Crear tareas propias (con problemas propios o del OPL)
Cada curso tiene varias tareas (llamadas sets en inglés) y cada tarea tiene varios problemas. En esta sección describimos cómo crear y administrar una tarea, lo que significa agregar o eliminar problemas, y crear copias de problemas ya existentes para poder editarlos.
Si estás utilizando un curso modelo, este ya tendrá varias tareas existentes, por lo que puedes saltarte 3.1 (Crear una tarea “en blanco”).
3.1. Crear una tarea "en blanco"
- Ve al Editor de tareas en el menú de la izquierda.
- Selecciona "Crear" de las opciones disponibles.
- En `tr: Name the new set` escribe el nombre de la tarea (no incluyas espacios).
- Presiona el botón `Ejecutar`. Esto crea la tarea y la hace visible en la tabla de abajo en la página.
- Asigna la tarea a los estudiantes que desee usando estas instrucciones. (en particular la tarea no será visible para ud mismo en la sección de `Tareas` en el menú de la izquierda hasta que se la haya asignado a su usuario.)
Nota: En WeBWorK *NO* es posible cambiar el nombre de una tarea. Lo que sí se puede hacer es clonarla y usar un nuevo nombre para la copia de la tarea. Visita https://webwork.maa.org/moodle/mod/forum/discuss.php?d=221 para más información.
3.2. Agregar un problema del OPL en inglés a una tarea (sin editarlo)
- Ve al Explorador de problemas en el menú.
- Seleccionar `Subject`, `Chapter`, `Section` (en ese orden -- cada selección habilita la lista siguiente).
Va a salir un mensaje como: `There are 20 matching WeBWorK problems`.
- Presionar `View problems` para ver estos 20 problemas (esto puede tomar bastante tiempo, pues se cargan de una gran base de datos).
Esto va a cargar todos los problemas y cada uno tiene un botón `Agregar` para poder agregarlo a una tarea. Es decir, agregas los problemas uno por uno.
Si la tarea no existe:
- Asegurarse de crear una nueva tarea desde esta misma página con el botón y campo `Crear una nueva tarea en este curso`.
Si la tarea ya existe (o ya se creó):
- Seleccionar la tarea a la que se van a agregar los problemas en la parte superior de la página `Add problems to Target Set:`.
- Presionar `Agregar` con los problemas que se quieran agregar. Cada vez que se agreguen va a aparecer un mensaje verde en la parte superior derecha.
- Nota: el botón de `shuffle` de cada problema (parte derecha en la parte superior del problema) permite ver otras versiones del problema, si el problema las tiene disponibles (en cuyo caso, cada estudiante va a tener distintas versiones).
3.3. Eliminar problemas de una tarea
- Ve al Editor de tareas en el menú de la izquierda. Aparecerá una tabla en la cual cada fila representa una tarea.
- Identifica la tarea que quieres manipular y haz clic en el enlace de la columna `Editar Problemas`. Esto te llevará a una página que muestra información de los problemas de la tarea en su orden establecido.
- Marca las casillas de `Eliminar` en los problemas que quieras eliminar de la tarea.
- Presiona el botón `Guardar cambios` (bien abajo en la página). No hay botones adicionales de confirmación.
3.4. Hacer ediciones a un problema agregado del OPL (volverlo propio)
- Ve a la página de un problema particular que se haya agregado a alguna tarea.
- Haz clic en "Edit3" justo debajo de la caja azul del problema. Eso abre una nueva ventana con el editor.
- Arriba a la derecha aparece un mensaje como el siguiente:
`The file '[TMPL]/Library/Michigan/Chap14Sec1/Q13.pg' is protected!`. Esto significa que no puedes editar el problema del OPL. Debes hacer un copia propia así:
- Abajo, selecciona "New version".
- Elige la opción "Replace current problem: ..." (que está seleccionado por defecto)
- Haz clic en "Take action!".
- Saldrá un mensaje verde arriba a la derecha que dice algo como: `Saved to file '[TMPL]/local/Library/Michigan/Chap14Sec1/Q13.pg'` ... eso quiere decir que ya tienes tu propia copia para editar.
3.5. Crear un problema en blanco para una tarea
Si ya se ha creado una tarea (instrucciones), se puede crear un problema en blanco así:
- Ve al Editor de tareas en el menú de la izquierda e ingresa a la página de detalles de la tarea a la que se quiere agregar el problema en blanco (Columna: `Edit problems`).
- Al final de la página, selecciona `Agregar blank problem template(s) to end of homework set` y presiona `Guardar los cambios`. Esto creará un problema al final de la tarea (aparece como el último problema) con archivo `blankProblem.pg`.
- Selecciona `Editar problema` (ícono de lápiz). Alternativamente, selecciona `Ver problema` y en la página en la que se carga el problema haz clic en el texto `Edit3`, justo debajo del recuadro gris que contiene el problema.
Esto carga el editor, pero saldrá un mensaje de alerta arriba a la derecha de la página que dice algo como
The file '[TMPL]/settest/blankProblem.pg' is a blank problem!
To edit this text you must use the 'NewVersion' action below to save it to another file.
Sigue estas instrucciones seleccionando `NewVersion` en la parte de abajo de la página y eligiendo el nombre del archivo que se le quiere dar, por ejemplo `MiPrimerProblema.pg`. Dejar la opción `Replace current problem: ...` seleccionada y presionar el botón `Ejecutar`.
Va a salir un mensaje verde arriba que dice algo como:
Saved to file '[TMPL]/settest/MiPrimerProblema.pg'
The source file for 'set test / problem 16 has been changed from '[TMPL]/settest/blankProblem.pg' to '[TMPL]/settest/MiPrimerProblema.pg'
Esto indica que el problema se creó correctamente.
3.6. Editar un problema local
- Navega al problema que desees editar (por ejemplo, yendo a la tarea que contiene el problema y luego haciendo clic en este).
- Haz clic en el texto `Edit3` (justo debajo del enunciado del problema).
- Haz los ajustes que desees (puedes ver información sobre los lenguajes PG y PGML acá [[LINK FALTA]]
- Para ver vistas previas del problema selecciona "Ver" y presiona "Ejecutar" en la parte de abajo de la página (el tab "Ver" está seleccionado inicialmente por defecto).
- Si quieres ver y probar otras versiones del mismo problema (cambio de parámetros), cambia el número en la casilla "Semilla" y vuelve a presionar "Ejecutar".
- Para guardar tu trabajo, selecciona: "Actualizar-->Ejecutar".
4. Traducir un problema dentro de WeBWorK
4.1. Traducir un problema del OPL de inglés a español
Para lo que sigue, vamos a suponer que ya agregaste un problema del OPL a una tarea (Ver instrucciones) y que lo quieres traducir.
- Primero, crea una copia propia del problema en tu directorio local de WeBWorK (pues el problema del OPL no se puede editar). Esto lo puedes hacer siguiendo estas instrucciones. Recomendamos que al crear el archivo mantegas la estructura de carpetas original. Por ejemplo, si la ruta original era Library/Michigan/Chap14Sec1/Q13.pg, puedes elegir la siguiente ruta:
[TMPL]/local/tarea_exponentes/Library/Michigan/Chap14Sec1/Q13.pg - Con esta copia del archivo, traduce el texto siguiendo las instrucciones para editar un problema local. Ten en cuenta consideraciones importantes al traducir que se describen en la siguiente sección.
4.2. Algunas cosas importantes para tener en cuenta al traducir
4.2.1. Strings constantes de WeBWorK y su traducción de manera robusta
El sistema de WeBWorK tiene unas cadenas (“strings”) ya definidas por defecto que sirven para escribir respuestas. Estas incluyen:
- inf (para infinito, incluyendo -inf para menos infinito)
- DNE (para "Does Not Exist")
- NONE (para ninguno)
Al traducir un problema se puede querer sugerir a los estudiantes strings equivalentes en español, pero es importante asegurarse que el sistema sepa que son equivalentes, para que la retroalimentación que da el sistema al estudiante a partir de su respuesta sea tan robusta como lo es en inglés. Esto se logra agregando comandos de este estilo al código:
Context()->strings->add(INFINITO => {infinite => 1});
Esto se asegura que si el estudiante responde "infinito", lo va a procesar como tal internamente (+infinity), o que si el estudiante responde "-infinito", también lo va a procesar como tal internamente (-infinity). Incluso respuestas con combinaciones de mayúsculas y minúsculas serán válidas (por ejemplo: Infinito, -Infinito, InFiNIto, etc.).
El caso de DNE y NONE es algo más simple, pues no hay interpretación interna que hay que preservar. Simplemente se agregan los siguientes términos al sistema:
Context()->strings->add(NE=>{});
Context()->strings->add(NINGUNO=>{});
Esto se asegura que si el estudiante responde NE, el sistema lo va a entender como un término específico y no como algo desconocido (y de forma similar con NINGUNO).
El caso del infinito es distinto. El siguiente comando sirve para que el estudiante se pueda referir a infinito (y menos infinito) en una respuesta:
Estos comandos se ponen en la parte de definiciones del problema en el archivo .pg (antes del enunciado)
4.2.2. No traducir comandos internos
Ten mucho cuidado de no traducir partes del archivo que corresponden a comandos de evaluación, pues puedes generar un error.
Por ejemplo,
ANS(interval_cmp($ans[0], sloppy=>'yes'));
es un comando de evaluación de intervalos con la opción "sloppy=>'yes' " que ignora si el estudiante da intervalos con extremos abiertos o cerrados (califica igual [1,3) que (1,3), por ejemplo). En este caso es importante no cambiar el "yes" por un "si", pues el sistema no entenderá lo que significa ese "si".
5. Operaciones entre cursos
5.1. Hacer una copia de seguridad de un curso
- Prepara los archivos que se van a guardar:
- Exporta las tareas (definiciones de las tareas) en el Editor de tareas en seleccionando "Exportar", eligiendo "exportar todas las tareas" y presionando "Ejecutar". Después, en la nueva tab que aparece ("Save Export") seleccionar "Ejecutar" de nuevo. Solo hasta que haya salido un mensaje como el siguiente, se habrá exportado la tarea correctamente:
Resultados de la última acción realizada:
1 sets exported, 0 sets skipped. Skipped sets: () - (Opcional) Exporta la lista de clase: Ve al Editor de lista de clase seleccionando "Exportar", "todos los usuarios", escribiendo un nombre de archivo para la lista, y presionando "Ejecutar".
- (Opcional) Exporta las calificaciones de los estudiantes: Ve a Herramientas de calificación, selecciona las tareas de las cuales se quieren guardar calificaciones y presiona "Calificar las tareas seleccionadas y guardar en" (selecciona el nombre del archivo).
- Ve al Administrador de archivos en el menú a la izquierda.
- Sube en la estructura de directorios a la carpeta que contiene la carpeta "templates" haciendo click en la flecha "^" a la izquierda del menú desplegable. Esto lo lleva a uno a la carpeta con el nombre del curso.
- Selecciona todos los archivos y presiona el botón "Make archive". Esto crea un archivo con nombre "<nombre-curso>.tgz" que es un estilo de archivo zip.
- Haz doble click en ese archivo, que lleva a una página con la opción "Download". Esto permite descargar el archivo que contiene toda la información del curso.
5.2. Crear un curso a partir de una copia de seguridad
[[ FALTA ]]
5.3. Copiar una tarea con problemas OPL de un curso a otro.
Nota antes de seguir: Si se quieren copiar todas las tareas de un curso, lo más fácil es crear el nuevo curso basado en el curso antiguo. Ver https://webwork.maa.org/moodle/mod/forum/discuss.php?d=140 (copia offline).
Pasos para copiar una tarea con problemas OPL de un curso a otro:
- En el curso en el que está la tarea que quiere copiar:
- Ir al editor de tareas en el menú.
- Seleccionar pestaña de exportar.
- Chulear las tareas que quiere exportar y seleccionar "¿Qué tareas exportar?: --> tareas seleccionadas" y ejecutar.
- Confirmar la acción presionando ejecutar de nuevo. Eso debería dar la confirmación: Resultados de la última acción realizada: 1 sets exported, 0 sets skipped. Skipped sets: ()
- Ahora ir en el menú al explorador de archivos.
- En el directorio principal ahora debe aparecer un archivo llamado set<NombreTarea>.def donde <NombreTarea> es el nombre de la tarea que exportó. Ejemplo, si la tarea se llamaba "EvaluarExpresiones" el archivo correspondiente será setEvaluarExpresiones.def. Seleccionar ese archivo y presionar el botón descargar.
- Ahora ir al curso en el que quiere "pegar" la tarea y:
- Ir al explorador de archivos y subir el archivo .def que se descargó con los botones choose file y después upload.
- Ir al editor de tareas en el menú y seleccionar la pestaña importar.
- En tr: Import from where? seleccionar del menú desplegable el archivo .def de la tarea que quiere importar y presionar el botón ejecutar.
Si se quieren copiar varias tareas al tiempo, se puede hacer el mismo proceso y seleccionar importar varios archivos .def al tiempo. Si se quieren copiar todas las tareas de un curso, lo más fácil es crear el nuevo curso basado en el curso antiguo. Ver
https://webwork.maa.org/moodle/mod/forum/discuss.php?d=140
5.4. Copiar una tarea con problemas propios de un curso a otro.
Las instrucciones son igual que las instrucciones para problemas del OPL arriba, pero en vez de solo descargar el archivo set<NombreTarea>.def, se debe:
- seleccionar en el explorador de archivos:
- el archivo set<NombreTarea>.def,
- la carpeta <NombreTarea>
- la carpeta "local" (si los archivos .pg de la tarea se encuentran en esta carpeta).
- Presionar [create archive]. Eso crea un archivo .tgz (estar pendiente del nombre con el que se creó en el mensaje verde de confirmación).
- Descargar el archivo .tgz.
- Ahora ir al curso en el que quiere "pegar" la tarea y:
- Ir al explorador de archivos y subir el archivo .tgz que se descargó con los botones choose file y después upload
- Ir al editor de tareas en el menú y seleccionar la pestaña importar.
- En tr: Import from where? seleccionar del menú desplegable el archivo .def de la tarea que quiere importar y presionar el botón ejecutar.
5.5. Crear una copia de un curso (nuevo curso, con otros estudiantes, pero con las mismas tareas que un curso "plantilla")
Estas instrucciones crean un curso nuevo con las mismas tareas de otro curso, y ajustan las fechas de las tareas uniformemente por la misma cantidad de días. Asumen que la persona tiene permisos para crear cursos en el servidor (si no tiene permisos, debe pasarle estas instrucciones a la persona que los tiene).
- Asegurarse que el curso que quiere copiar (el curso "plantilla") está listo para ser copiado:
- En el curso plantilla ingresar a
Herramientas del instructor ---> Editor de tareas - Seleccionar la pestaña [Exportar/Export]
- En la opción "¿Qué tareas exportar?" seleccionar "Todas las tareas"
- Presionar el botón [Ejecutar] (pero ojo que falta presionar [Ejecutar] una vez más, ver el siguiente paso)
- En la nueva pantalla de Save Export, volver a presionar el botón de [Ejecutar]. Debe salir un mensaje de este estilo
Results of last action performed:
10 sets exported, 0 sets skipped. Skipped sets: () - (Nota: esto no produce ningún archivo para descargar; simplemente crea los archivos de definición (.def) de las tareas que se necesitan en el siguiente paso)
- Entrar a la parte de [Administrar cursos / Course Administration] en el servidor.
- Seleccionar la opción [Agregar curso / Add Course] y llenar todos los campos de acuerdo a como se desea llamar e identificar el curso.
- En la opción [Copy templates from:] seleccionar el curso plantilla en el menú desplegable.
- Presionar el botón [Agregar curso / Add Course]
- Ahora ingresar al nuevo curso que se acaba de crear. No van a aparecer las tareas todavía pues faltan los siguientes pasos:
- En el nuevo curso ingresar a:
Herramientas del instructor ---> Editor de tareas - Seleccionar la pestaña [Importar / Import]
- En la opción [tr: Import how many sets?] seleccionar en el menú desplegable [tr: multiple sets]
- En la opción [tr: Import from where?] seleccionar todas las tareas del curso plantilla que se quieren importar (pueden ser todas, ignorando tan solo las que no son del curso, como set0.def, setOrientation.def, etc).
- En la opción [Shift dates so that the earliest is:] seleccionar la fecha de inicio de clases, para que todas las fechas se ajusten relativo de acuerdo a esta.
Fuentes:
- https://webwork.maa.org/moodle/mod/forum/discuss.php?d=140
- https://kb.swarthmore.edu/display/MOODLE/Copying+a+WeBWorK+Course
6. Solución de problemas
6.1. Restaurar la clave de un estudiante
Si un estudiante pierde acceso al curso y no puede ingresar con su clave, uno como instructor puede restaurar su clave. Esto se hace de la siguiente manera:
- Ir al "Editor de lista de clase".
- Seleccionar la pestaña "Contraseña", seleccionar el usuario al que se le quiere cambiar la contraseña.
- "Ejecutar" dar una nueva contraseña a los usuarios seleccionados.
- Esto lo lleva a uno a una nueva página en la que puede escribir una nueva contraseña. Presionar "Ejecutar" para guardar los cambios.
7. Anexos
7.1. Agregar estudiantes automáticamente usando un archivo .csv
Esta opción es la más conveniente si quieres agregar muchos estudiantes a tu curso.
7.1.1. Primer paso: preparar el archivo lista_de_clase.csv que se va a subir
- Crea una hoja de cálculo de la información de tus estudiantes en formato csv, digamos lista_de_clase.csv.
Nota: Si ya tienes una lista en otro formato (por ejemplo .xls) es necesario que crees una nueva versión en formato csv ("archivo separado por comas"). - Edita el archivo .csv en Excel u otra hoja de cálculo para que corresponda al formato “classlist“ de WeBWorK. Esto implica cambiar el orden de las columnas y eliminar algunas que no aporten información relevante como se describe a continuación.
Un archivo lst es muy similar a un archivo csv (comma separated values). Este es el orden de los 11 campos separados por comas:
<id_de_estudiante>, <apellido>, <nombre>, <estado>, <comentario>, <sección>, <sección_de_discusión>, <dirección_de_correo_electrónico>, <id_de_usuario>, <contraseña>, <permiso>
De estos campos, los campos <id_de_estudiante>, <estado> y <id_de_usuario> son obligatorios.
Un ejemplo: Este curso es muy pequeño y solo tiene 2 estudiantes:
Contenido del archivo lista_de_clase.lst:
00103425, Acosta, Enrique, C, ,1, , eacosta@col.edu, eacosta, , 0
00112345, Amaya, Mariana, C, ,1, , mamay@col.edu, mamay, , 0
Detalles:
- id_de_estudiante (student_id): típicamente es el ID de estudiante de la institución educativa. Se incluye en los reportes de calificaciones para ayudarte a identificar estudiantes. También se usa como la contraseña inicial si el campo clave está vacío.
Nota: Tu archivo lst no puede tener dos filas con el mismo id_de_estudiante. - apellidos (last_name): Apellidos del estudiante. Puede dejarse vacío.
- nombre (name): Nombre del estudiante. Puede dejarse vacío.
- estado (status): Este código indica el estado del estudiante en el curso:
- C: indica que el estudiante está inscrito actualmente.
- A: indica que el estudiante es un asistente, y no se incluirá en los reportes de calificaciones.
- D: indica que el estudiante se retiró del curso. Ya no podrá iniciar sesión, no se le asignarán tareas ni se incluirá en reportes de calificaciones.
Típicamente al inicio todos los estudiantes comienzan con un valor de C en este campo.
- comentario (comment): campo para comentarios (información para el instructor). Se puede dejar en blanco.
- sección (section): el identificador (nombre o número) de la sección en la que está el estudiante. Se puede dejar en blanco (por ejemplo, si el curso solo tiene una sección).
- sección de discusión (recitation): el identificador (nombre o número) de la sección de discusión en la que está el estudiante. Se puede dejar en blanco (por ejemplo, si el curso no tiene secciones de discusión).
- dirección_de_correo (email_address): la dirección de correo del estudiante. Se usa para enviar correos masivos a la clase o para identificar a estudiantes que envíen correos de retroalimentación. Se puede dejar en blanco.
- id_de_usuario (user_id): este campo es obligatorio y también es llamado “nombre de usuario”. Este es el identificador que usan los estudiantes para ingresar a WeBWorK. Solo puede contener letras, dígitos, guiones (-), punto (.) y guión inferior (_). Por conveniencia, puedes hacer que en tu archivo lst, este campo sea igual al campo id_de_estudiante.
Nota: Un archivo lst no puede tener dos filas con el mismo id_de_usuario. - Contraseña (password): la clave que el estudiante usará para ingresar a WeBWorK. Si este campo se deja en blanco, la clave del estudiante será el valor de id_de_estudiante.
- permiso (permission): El nivel de permiso de estudiante. Si se deja en blanco, tendrá el valor de 0 (es decir, estudiante). Estos son los posibles permisos:
- -5: invitado (guest)
- 0: estudiante (student)
- 2: supervisor (login_proctor)
- 3: calificador (grade_proctor)
- 5: asistente (ta)
- 10: instructor (professor)
Nota: en WeBWorK, los instructores, asistentes y demás son técnicamente estudiantes y como tal aparecerán en la lista del curso, solo que se identifican por el campo de permisos.
Recuerda que los campos más importantes son:
- Nombre de usuario: este va a ser el nombre de usuario de ingreso al sistema. No puede tener espacios.
- ID de estudiante: Esta va a ser la clave inicial del usuario y después será el identificador único del estudiante (es importante pedir al estudiante que cambie su clave lo antes posible, ingresando a sus preferencias de usuario).
En este enlace puedes descargar un ejemplo de un archivo de lista de clase:
Lista_ejemplo_grupo_lema.lst (puedes abrirlo con un editor de texto o una hoja de cálculo).
7.1.2. Segundo paso: subir el archivo a WeBWorK
- En WeBWorK, ve a Administrador de archivos en el menú de la izquierda.
- Haz clic en "Choose file" y selecciona el archivo que creaste (lista_de_clase.csv).
- Haz clic en “Upload” para subir el archivo a WeBWorK (recuerda en qué carpeta: recomendamos usar la carpeta raíz). Saldrá un texto en verde confirmando tu acción: “File 'demoCourse2.lst' uploaded successfully“. Verás tu archivo en la lista que aparece.
- En WeBWorK, renombra el archivo `lista_de_clase.csv` a `lista_de_clase.lst`. Esto se hace seleccionando el archivo `lista_de_clase.csv` (un solo clic), haciendo clic en `Rename`, cambiando `csv` por `lst` y haciendo clic en el botón Rename.
Importante: debes usar la extensión lst, de lo contrario WeBWorK no reconocerá el archivo en los pasos que siguen.
7.1.3. Tercer paso: Importar la lista
- En WeBWorK, ve a Editor de lista de clase en el menú de la izquierda.
- Selecciona el tab `Importar`, y selecciona el archivo que subiste en el menú desplegable a la derecha de “¿Importar usuarios de qué archivo?:”
Nota: si tu archivo no aparece, revisa los pasos anteriores. - Para la opción ‘¿Qué nuevos usuarios agregar?:’ selecciona la opción: “cualquier usuario”.
- Haz clic en Ejecutar. Aparecerá un mensaje en fondo verde que reporta los cambios. Por ejemplo: “Result of last action performed: 0 users replaced, 47 users added, 0 users skipped. Skipped users: ()“. En la misma página podrás ver la lista de estudiantes de tu curso para verificar que el proceso fue exitoso.
Nota: no se recomienda cambiar la extensión csv a lst en el administrador de archivos de tu computador, sino hacerlo directamente en WeBWorK, como se indicó arriba.
7.2. Lenguajes PG y PGML
Copyright Grupo LEMA (www.grupolema.org), 2020. Licencia de uso CC-BY Internacional 4.0.
Detalles de licencia en https://creativecommons.org/licenses/by/4.0/deed.es