Calificaciones ponderadas automáticamente y ChatGPT v2

Introducción

Los sistemas de gestión de aprendizaje (LMS por sus siglas en inglés) son herramientas fundamentales para administrar el proceso educativo. Entre sus funciones principales se encuentra la gestión de calificaciones, que permite evaluar el desempeño de los estudiantes en diversas actividades y calcular su calificación final en el curso.

Sin embargo, en muchos casos es necesario integrar estas calificaciones con otros sistemas externos. Esto plantea la oportunidad de desarrollar soluciones que faciliten la transferencia de datos de calificaciones entre el LMS y otros sistemas, optimizando así la gestión académica y administrativa.


¿Qué es Blackboard?

El primer LMS utilizado fue Blackboard Learn, una plataforma en línea que capacita a los profesores para crear y gestionar cursos virtuales, y a los estudiantes para acceder a estos cursos, interactuar con el material de estudio y completar actividades y evaluaciones en línea.

Aunque el uso del LMS fue efectivo hasta este punto 👍, se identificó un problema: la necesidad de transferir las calificaciones finales ponderadas a otro sistema de gestión de calificaciones.”


Sistema de Calificaciones

En este sistema, es necesario aplicar una ponderación a la calificación máxima de cada examen (un total de 3), además de considerar un acumulativo. Esta ponderación se realizaba manualmente, lo que generalmente funcionaba correctamente. Sin embargo, en algunos casos donde las calificaciones excedían la ponderación prevista, era necesario realizar redistribuciones.

Esta situación identificó la necesidad de mejorar el proceso. Surgió así la oportunidad de desarrollar una solución que automatizara la distribución de la nota final, permitiendo ajustar las ponderaciones según se requiera y garantizando un cálculo más preciso mediante el uso de decimales. La intervención humana, habitual en estos casos, suele propiciar errores en los cálculos, por lo que una solución automatizada sería más confiable y eficiente.


Solución I

La primera solución implementada fue bastante básica, ya que su único propósito era generar las calificaciones ponderadas. Utilizando la funcionalidad de exportación a formato CSV del sistema LMS Blackboard, se desarrolló un programa denominado ‘grades-weighted-automatically’, el cual analizaba los archivos generados para obtener el resultado deseado. Aunque esta solución cumplió su función durante un tiempo determinado, pronto se identificaron limitaciones y oportunidades de mejora.


Cambio de LMS

La institución educativa migró su plataforma de gestión de aprendizaje (LMS) de Blackboard a Canvas.


¿Qué es Canvas?

Canvas es un sistema de gestión de aprendizaje en línea que proporciona una amplia variedad de herramientas y funcionalidades diseñadas para facilitar la enseñanza y el aprendizaje a través de la web. Destaca por su enfoque en la usabilidad y la experiencia del usuario, lo que lo convierte en una opción popular entre educadores y estudiantes.


Solución II

Esta segunda solución también conserva su simplicidad, ya que una vez más el objetivo es generar las calificaciones ponderadas. Utilizando el sistema de LMS Canvas, es posible exportar las calificaciones a un archivo CSV. Para adaptarse a este cambio, se realiza una modificación en el programa ‘grades-weighted-automatically’, manteniendo el proceso de lectura de los archivos generados para obtener el resultado deseado.

Al concluir la migración al nuevo LMS, surgió la pregunta: ¿sería posible eliminar el paso de exportación y consultar directamente al LMS utilizando su API? Motivados por esta idea, se decidió investigar la viabilidad de esta opción, y se solicitó la asistencia de ChatGPT para explorar esta posibilidad.


¿Qué es una API?

Una API (Interfaz de Programación de Aplicaciones) en el desarrollo de sistemas es un conjunto de reglas y definiciones que permiten que distintas aplicaciones se comuniquen entre sí. Básicamente, una API define cómo interactuar con un sistema o servicio determinado, especificando qué operaciones se pueden realizar y cómo se deben enviar y recibir los datos.

¿Qué es ChatGPT?

Estamos en una fase emocionante en el desarrollo de la tecnología de Inteligencia Artificial (IA). Los continuos avances en la investigación y desarrollo de la IA están posibilitando la creación de aplicaciones cada vez más sofisticadas y complejas que impactan diversos campos.

La IA ha encontrado aplicaciones crecientes en campos como la medicina, la educación, la investigación científica, el transporte y la manufactura. Estos avances han propiciado mejoras significativas en la eficiencia, precisión y productividad en estas áreas.

Un modelo de lenguaje de IA conocido como ChatGTP está desempeñando un papel crucial en el impulso hacia un futuro más inteligente y sofisticado. Aunque esta herramienta reconoce sus limitaciones en comparación con la creatividad humana, está comprometida a ayudar y espera seguir haciéndolo en el futuro. (Esta introducción ha sido generada por ChatGPT, con pequeñas modificaciones)

Ayuda de ChatGTP

A continuación, se presentan las consultas, ayuda y soporte recibido por parte de la inteligencia artificial.

  1. Cual seria el código para conectarse a la API de Canvas y poder tener acceso al libro de calificaciones?

    Se procedió a investigar cómo era el proceso de generación de la llave de acceso a la API, así como probar que el código funcionara. Dicho proceso fue exitoso, por lo que la AI, tenía razón de la factibilidad de llevar a cabo dicha tarea. Sin embargo, no todo fue color de rosa, ya que, aun no se había logrado el acceso a las calificaciones de los alumnos.

  2. Podrías proporcionarme otro código para listar el libro de calificaciones de canvas usando una api?

    Todavia no se tenía acceso a las calificaciones de los alumnos.

  3. El código falla con el siguiente mensaje: AttributeError: ‘Course’ object has no attribute ‘get_grades’. Did you mean: ‘get_groups’? Alguna idea de que puede ser?

    Se verifico que no era ese el problema, ya que sí se contaba con la ultima version de la libreria, por lo que se intento sin libreria.

  4. Tengo la ultima versión de canvasapi, pero el error persiste, alguna idea para usar el api directamente sin una librería.

  5. Todavía sigue el error, será posible conseguir las notas usando el usuario o estudiante?

  6. Sabes como incluir la opción current_grading_period_scores en el parámetro include[] de la solicitud del api?

  7. Puedo ver los porcentajes, pero no el puntaje real, que faltara para ver eso?

  8. Como puedo saber el total de puntos que se ha asignado en un curso en canvas, usando una api?

  9. Es posible usar otra api, que no sea la de custom_gradebook_columns, ya que esa no regresa los puntos_posibles?

  10. Esta solicitud no tiene todos los puntos de las asignaciones, a que se deberá eso?

  11. Hola!, podrías ayudarme en brindarme un código de python para consultar los cursos marcados como favoritos en el LMS de Canvas?

  12. Ahora, podrías brindarme el código para obtener el id del usuario propietario de token que esta consultando la api?

Ayuda de la documentación del API de Canvas

Solución III

Esta tercera solución presenta la ventaja de utilizar la API directamente, eliminando la necesidad de exportar archivos CSV, mientras genera las calificaciones ponderadas. 😎


Conclusiones

  • Cumplimiento

    • La conversación con ChatGPT nos permitió identificar lo siguiente:

      • La viabilidad de trabajar con la API.
      • Cómo enviar opciones al parámetro “include[]”.
      • La metodología para generar los puntos posibles.
      • La utilidad del parámetro “page_number”.
      • El proceso para obtener los cursos favoritos.
  • Propósito

    • Considerando el objetivo, nos centramos en buscar una respuesta utilizando los datos obtenidos.

Referencias