Serie temporal
| |

Preparando los exámenes

Este año me he matriculado de nueve asignaturas, una de ellas anual de modo que me ha tocado preparar diez exámenes. A diferencia de convocatorias anteriores este segundo cuatrimestre he decido estudiarlo a base de hacer tests, muchos tests. No he leído de antemano los manuales, ni siquiera he utilizado apuntes. También he prescindido de las tutorías presenciales o remotas, solo he consultado los foros dos o tres veces para informarme de alguna PEC.

Después de cuatro cursos, muchos conceptos me son familiares y si topo con alguno desconocido. o que no entiendo del todo, recurro al manual o busco información en internet. Así, a fuerza de realizar simulacros de exámenes, he ido formándome una idea del contenido de cada asignatura.

Mi metodología es sencilla. En un fichero de texto apunto los simulacros que voy haciendo, agrupados por año de examen y acompañados del enlace al test online. Por lo general a medida que los voy repitiendo consigo mejores puntuaciones. Hay algunas materias que se me dan mejor que otras y exámenes específicos en los que cometo más errores de la media. Por una mera cuestión de prioridades el tiempo que dedico es limitado y a menudo interrumpido por parones más prolongados de lo que quisiera. Son tantos los simulacros que, llegado un momento, no sé qué asignatura llevo mejor y a cuál debería dedicarle más esfuerzo. De ahí que se me ocurriera programar una aplicación sencilla que me ayudara a poner un poco de orden.

Estos son los requisitos funcionales:

  • Un gráfico que muestre mi progreso en el tiempo, con una serie temporal por cada asignatura
  • Un gráfico de barras en el que pueda ver de una pasada qué asignaturas llevo peor
  • Una tabla con los exámenes realizados, agrupados por nombre, con el número de intentos y nota media. Al estar ordenados de mayor a menor tasa de error, tengo que dedicar más atención al primero de la lista
  • Un formulario para introducir datos
  • Una lista modificable con todos los datos introducidos hasta la fecha, por si tuviera que cambiar alguno guardado con errores

Además de ser útil, el proyecto me pareció interesante y —ya puedo decirlo— ha aumentado con creces mi motivación estudiantil. Calculé que programándolo de cero en React me podría llevar entre cuatro y ocho horas tener una primera versión funcional. La idea es que guardara los datos en el almacenamiento local del navegador y de manera automática lanzara un servidor web accesible desde localhost. La fase más aburrida de este tipos de proyectos suele ser la inicial, por su carácter repetitivo: crear el App.js, los componentes, integrar los diferentes módulos… ¿Y si recurro a ChatGPT para que me eche una mano? Después de todo lo interesante de este proyecto es su utilidad, no voy a aprender nada nuevo tecleando el mismo código por enésima vez. Estos son los cuatro componentes usados, precedidos de un resumen de los prompts que usé, más que nada para transmitir la idea. En realidad tuve que ir modificándolos según iban surgiendo errores. GPT-4 se atascó con ciertos problemas. Tal vez lo hubiera podido solucionar elaborando mejor mi petición, pero a la tercera o cuarta tentativa opté por la solución más rápida: corregirlos yo mismo.

SubjectForm.js

Un formulario con cinco campos: Un combo con las cinco asignaturas de este cuatrimestre; un campo numérico con la tasa de error del simulacro (número de errores / número de preguntas); un campo de texto para identificar el examen (por ejemplo 06/21) y, por último, un campo de fecha para guardar cuándo hice el simulacro. Los datos se almacenarán en LocalStorage.

ExamResultsTable.js

Una tabla que muestre los exámenes realizados. Los campos de cada fila deben poder ser editados, y contar con un botón de borrado. Dado que esta tabla tenderá a crecer, debe estar oculta por defecto, se podrá mostrar haciendo click en el botón pertinente.

ExamResultsChart.js

Dos gráficas, una de tipo series temporales y otra de barras en las que, respectivamente, se muestre el progreso en el tiempo, y se compare la tasa de error de las distintas asignaturas. Ambas gráficas contarán con una línea horizontal roja situada en el valor 0.33, que indica la tasa de error máxima permitida para poder aprobar.

SummaryTable.js

Una tabla que muestre los exámenes agrupados por asignatura y examen. Los campos serán «asignatura/examen», «números de intentos» y «tasa promedio de fallos». Habrá una línea roja que muestre el umbral de porcentaje requerido para aprobar.

App.js

Por último el fichero de entrada en el que se importa los componentes.

Conclusión

Lo más sorprendente es la facilidad con la que GPT-4 entendió el tipo de proyecto que quería. Sobretodo me ha ayudado a poner en marcha el proyecto al inciar de manera rápida la estructura base del código. También en ocasiones me ha sido muy útil para solucionar problemas, y otras veces me ha llevado por un camino equivocado retrasándome. No sé cuánto hubiera tardado en hacerlo sin su ayuda, es probable que no mucho más. Lo que más valoro es su disponibilidad 24h, y sus ganas de trabajar; en este sentido supone un valioso empujón para arrancar. Y, de la misma manera que se atasca, en numerosas ocasiones me ha ayudado a destascarme, haciéndome ver errores que me estaban pasando desapercibidos.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *