Skip to main content

Utiliza las calificaciones automáticas

Puedes proporcionar retroalimentación automáticamente en las emisiones de código de tus alumnos si configuras las pruebas para que se ejecuten en el repositorio de tareas.

¿Quién puede utilizar esta característica?

Organization owners who are admins for a classroom can set up and use autograding on assignments in a classroom. Para más información sobre los administradores de aula, consulta "Administrar aulas".

Acerca de las calificaciones automáticas

Puedes utilizar las calificaciones automáticas para verificar el trabajo de un alumno automáticamente para una tarea en GitHub Classroom. Configuras las pruebas para una tarea y estas se ejecutan automáticamente cada vez que un alumno realiza una inserción en un repositorio de tareas en GitHub.com. El alumno puede ver los resultados de la prueba, hacer cmabios y subir información para ver resultados nuevos.

Después de que un alumno acepte una tarea, en cada subida al repositorio de la misma (o en una programación definida por el profesor), GitHub Actions ejecuta comandos para tu prueba de calificaciones automáticas en un ambiente Linux que contiene el código más nuevo del alumno. GitHub Classroom crea los flujos de trabajo necesarios para GitHub Actions. No necesita experiencia con GitHub Actions para usar la calificación automática, pero opcionalmente puede modificar las configuraciones de flujo de trabajo para satisfacer sus necesidades. Para más información sobre los flujos de trabajo y GitHub Actions, consulta Acerca de la integración continua con Acciones de GitHub.

Puedes utiizar un marco de trabajo de prueba, ejecutar un comando personalizado, escribir pruebas de entrada/salida, o combinar varios métodos de pruebas. El ambiente de Linux para las calificaciones automáticas contienen muchas herramientas de software populares. Para más información, consulta la versión más reciente de Ubuntu en Utilizar los ejecutores hospedados en GitHub.

Puedes ver un resumen de qué estudiantes están pasando las pruebas con calificación automática si navegas a la tarea en GitHub Classroom. Una marca verde significa que el alumno está pasando todas las pruebas, la X roja significa que el alumno falló en algunas o todas las pruebas. Si otorgas puntos para una o más pruebas, entonces una burbuja mostrará la puntuación de éstas con base en la puntuación máxima posible para la tarea.

Métodos para calificar

GitHub Classroom proporciona diferentes valores preestablecidos de prueba de calificación automática que se pueden usar si no desea configurar los flujos de trabajo de GitHub Actions usted mismo. También puede optar por usar datos personalizados GitHub Actions de YAML para definir su propio flujo de trabajo de calificación automática.

Uso de valores preestablecidos de GitHub

Puede usar valores preestablecidos sin ningún conocimiento de GitHub Actions. Puede escribir información sobre las pruebas de calificación automática y GitHub Classroom agregará automáticamente los archivos necesarios a los repositorios de asignaciones de alumnos.

Hay tres tipos de valores preestablecidos: pruebas de entrada y salida, pruebas de Python y pruebas de comandos de ejecución.

Prueba de entrada/salida

Una prueba de entrada/salida ejecuta un comando de configuración opcionalmente y proporciona una entrada estándar de un comando de prueba. GitHub Classroom evalúa la salida del comando de prueba contra un resultado esperado.

ConfiguraciónDescripción
Nombre de la pruebaEl nombre de la prueba para identificarla en las bitácoras
Comando de configuraciónOpcional. Un comando a ejecutar antes de las pruebas, tal como una compilación o instalación
Comando de ejecuciónEl comando para ejecutar la prueba y generar una salida estándar para su evaluación
EntradasEntrada estándar para el comando de ejecución
Salida previstaLa salida que quieres ver como estándar para el comando de ejecución
De comparaciónEl tipo de comparación entre el la salida del comando de ejecución y la salida esperada

  • Incluido: se supera cuando aparece la salida esperada
    en cualquier parte de la salida estándar del comando de ejecución
  • Exacto: se supera cuando la salida esperada es completamente idéntica
    a la salida estándar del comando de ejecución
  • Expresión regular: se supera si la expresión regular de la
    salida esperada coincide con la salida estándar del comando de ejecución.
Tiempo de esperaEn minutos, lo que tarda una prueba en ejecutarse antes de que resulte en un fallo
PuntosOpcional. La cantidad de puntos que vale la prueba contra una puntuación total

Prueba de Python

Una prueba de Python ejecuta un comando de instalación y, a continuación, ejecuta pytest. El número de puntos otorgados dependerá del número de pruebas del conjunto de pruebas pytest que el alumno supere. Cada prueba vale el mismo número de puntos; puede cambiar cuántos puntos vale el conjunto de pruebas completo cambiando la configuración Points.

ConfiguraciónDescripción
Nombre de la pruebaEl nombre de la prueba para identificarla en las bitácoras
Comando de configuraciónOpcional. Un comando a ejecutar antes de las pruebas, tal como una compilación o instalación. Algunas dependencias ya están instaladas, pero puede instalar más si es necesario. No es necesario usar sudo, y debe usar pip en lugar de pip3.
Comando de ejecuciónEl comando para ejecutar la prueba y generar un código de salida para evaluación
Tiempo de esperaEn minutos, lo que tarda una prueba en ejecutarse antes de que resulte en un fallo
PuntosOpcional. El número total de puntos que vale todo el conjunto pytest. Cada prueba valdrá Points / number_of_tests

Prueba de comando de ejecución

Una prueba de comando de ejecución ejecuta un comando de configuración y luego un comando de prueba. GitHub Classroom verifica el estado de salida del comando de prueba. Un código de salida de 0 dará un resultado correcto y cualquier otro código de salida producirá un error.

GitHub Classroom proporciona preajustes para un las pruebas de comandos de ejecución específicas de lenguaje para varios lenguajes de programación. Por ejemplo, la prueba Ejecutar nodo rellena previamente el comando de instalación con npm install y el comando de prueba con npm test.

ConfiguraciónDescripción
Nombre de la pruebaEl nombre de la prueba para identificarla en las bitácoras
Comando de configuraciónOpcional. Un comando a ejecutar antes de las pruebas, tal como una compilación o instalación
Comando de ejecuciónEl comando para ejecutar la prueba y generar un código de salida para evaluación
Tiempo de esperaEn minutos, lo que tarda una prueba en ejecutarse antes de que resulte en un fallo
PuntosOpcional. La cantidad de puntos que vale la prueba contra una puntuación total

Uso de un flujo de trabajo personalizado de GitHub Actions

En lugar de usar valores preestablecidos, también puede agregar cualquier flujo de trabajo de GitHub Actions al archivo .github/workflows/classroom.yml del repositorio de código de inicio.

Puede editar el archivo .github/workflows/classroom.yml directamente desde la página de edición de asignaciones seleccionando YAML personalizado en lugar de valores preestablecidos de GitHub. Al hacer clic en Convertir al archivo de flujo de trabajo, se le pedirá que confirme los cambios en el repositorio de código de inicio. Esta sincronización solo funcionará si el repositorio de código de inicio está en la misma organización que el aula. Si el repositorio de código de inicio está en otra organización, debe editar el archivo .github/workflows/classroom.yml manualmente.

Configurar las pruebas de calificación automática para una tarea

Puedes agregar pruebas de calificación automática durante la creación de una tarea nueva. Para más información, consulta "Crear una tarea individual" o "Crear una tarea de grupo".

Puedes agregar, editar o borrar las pruebas de calificación automática para una tarea existente. Todos los cambios que se hagan a través de la IU del aula se subirán a los repositorios existentes de los alumnos, así que edita tus pruebas con cuidado.

  1. Inicia sesión en GitHub Classroom.

  2. En la lista de aulas, da clic en aquella que quieras ver.

  3. A la derecha de la tarea que quiera editar, haga clic en .

  4. En la barra lateral izquierda, haga clic en Calificación y comentarios.

  5. Agrega, edita o borra una prueba de calificación automática.

    • Para agregar una prueba, en "Agregar pruebas de calificación automática", seleccione el menú desplegable Agregar prueba y, después, haga clic en el método de calificación que quiera usar. Configure la prueba y, a continuación, haga clic en Guardar caso de prueba.

    • Para editar una prueba, a la derecha del nombre de ésta, da clic en . Configure la prueba y, a continuación, haga clic en Guardar caso de prueba.

    • Para borrar una prueba, a la derecha del nombre de ésta, da clic en .

  6. En la parte inferior de la página, haga clic en Actualizar asignación.

Configuración al ejecutar pruebas de calificación automática

De forma predeterminada, las pruebas de calificación automática se ejecutarán automáticamente cada vez que un alumno inserte en un repositorio de asignaciones en GitHub.com. Sin embargo, si desea administrar los minutos de GitHub Actions, puede cambiar este comportamiento.

  1. Inicia sesión en GitHub Classroom.
  2. En la lista de aulas, da clic en aquella que quieras ver.
  3. A la derecha de la tarea que quiera editar, haga clic en .
  4. En la barra lateral izquierda, haga clic en Calificación y comentarios.
  5. Debajo de la lista de pruebas de calificación automática, puede configurar cuando se ejecuten las pruebas de calificación automática.
    • Cada vez que un alumno envía una asignación: este es el comportamiento predeterminado.
    • Según una programación: puede establecer una hora cada día o cada semana para que se ejecuten pruebas de calificación automática.
    • Manualmente: las ejecuciones de pruebas de calificación automática se desencadenarán manualmente desde el panel de asignación.

Ver y descargar los resultados de las pruebas de autoevaluación

Descargar los resultados de autoevaluación

Puede descargar un CSV con los detalles de las asignaciones de los alumnos mediante el botón "Descargar" en la página de información general. Esto generará un CSV de descarga que contiene un enlace al repositorio del alumno, a su manejador de GitHub, identificador de lista, marca de tiempo de emisión y puntuación de autoevaluación.

Ver bitácoras individuales

  1. Inicia sesión en GitHub Classroom.
  2. En la lista de aulas, da clic en aquella que quieras ver.
  3. En la lista de tareas, da clic en aquellaque quieras ver.
  4. A la derecha del envío, haga clic en .
  5. Revisa la salida de la prueba. Para más información, consulta Uso de registros de ejecución de flujo de trabajo.

Información adicional