Logotipo de Zephyrnet

Los asistentes de programación de IA significan repensar la educación en ciencias de la computación

Fecha:

ECONOMÉTRICOS Si bien las implicaciones legales y éticas de los modelos de IA de asistencia como Copilot de Github continúan resolviéndose, los científicos informáticos continúan encontrando usos para modelos de lenguaje grandes e instan a los educadores a adaptarse.

Brett A. Becker, profesor asistente en University College Dublin en Irlanda, proporcionó El registro con copias previas a la publicación de dos trabajos de investigación que exploran los riesgos educativos y las oportunidades de las herramientas de IA para generar código de programación.

Los trabajos han sido aceptados en la Simposio Técnico SIGCSE 2023 sobre Educación en Ciencias de la Computación, a realizarse del 15 al 18 de marzo en Toronto, Canadá.

En junio, GitHub Copilot, una herramienta de aprendizaje automático que sugiere automáticamente código de programación en respuesta a indicaciones contextuales, surgido de una vista previa técnica de un año, al igual que las preocupaciones sobre la forma en que se entrenó su modelo OpenAI Codex y las implicaciones de los modelos de IA para la sociedad se fusionaron en oposición enfocada.

Más allá de los problemas no resueltos de derechos de autor y licencias de software, otros científicos informáticos, como Emery Berger, profesor de informática de la Universidad de Massachusetts Amherst, han levantó la alarma sobre la necesidad de reevaluar la pedagogía de las ciencias de la computación a la luz de la esperada proliferación y mejora de las herramientas de asistencia automatizadas.

En la opciónLa programación es difícil, o al menos solía serlo: Oportunidades educativas y desafíos de la generación de código de IA” [PDF], Becker y coautores Paul Denny (Universidad de Auckland, Australia), James Finnie-Ansley (Universidad de Auckland), Andrew Luxton-Reilly (Universidad de Auckland), James Prather (Universidad cristiana de Abilene, EE. UU.), y Eddie Antonio Santos (University College Dublin) argumentan que la comunidad educativa debe lidiar con las oportunidades y los desafíos inmediatos que presentan las herramientas de generación de código impulsadas por IA.

Dicen que es seguro asumir que los estudiantes de informática ya están usando estas herramientas para completar tareas de programación. Por lo tanto, las políticas y prácticas que reflejen la nueva realidad deben definirse lo antes posible.

“Nuestra opinión es que estas herramientas pueden cambiar la forma en que se enseña y aprende la programación, potencialmente de manera significativa, en el corto plazo, y que presentan múltiples oportunidades y desafíos que justifican una discusión inmediata a medida que nos adaptamos al uso de estas herramientas que proliferan”. afirman los investigadores en su artículo.

Estas herramientas pueden cambiar la forma en que se enseña y aprende la programación, potencialmente de manera significativa, en el corto plazo.

El documento analiza varios de los modelos de programación de asistencia actualmente disponibles, incluidos GitHub Copilot, DeepMind AlphaCode y Amazon CodeWhisperer, así como herramientas menos publicitadas como Kite, Tabnine, Code4Me y FauxPilot.

Al observar que estas herramientas son moderadamente competitivas con los programadores humanos, por ejemplo, AlphaCode se clasificó entre el 54 por ciento superior de los 5,000 desarrolladores que participan en las competencias de programación de Codeforces, los expertos dicen que las herramientas de IA pueden ayudar a los estudiantes de varias maneras. Esto incluye generar soluciones ejemplares para ayudar a los estudiantes a revisar su trabajo, generar variaciones de solución para ampliar la forma en que los estudiantes entienden los problemas y mejorar la calidad y el estilo del código de los estudiantes.

Los autores también ven ventajas para los educadores, que podrían usar herramientas de asistencia para generar mejores ejercicios para los estudiantes, generar explicaciones del código y proporcionar a los estudiantes ejemplos más ilustrativos de construcciones de programación.

Además de las oportunidades potenciales, existen desafíos que los educadores deben abordar. Estas herramientas de resolución de problemas y emisión de códigos podrían ayudar a los estudiantes a hacer trampa más fácilmente en las tareas; la naturaleza privada del uso de herramientas de IA reduce parte del riesgo de reclutar a un tercero para que haga la tarea.

Los investigadores también observan que es posible que sea necesario revisar la forma en que pensamos acerca de la atribución, fundamental para la definición de plagio, porque las opciones de asistencia pueden proporcionar diversos grados de ayuda, lo que dificulta separar la asistencia permitida de la excesiva.

“En otros contextos, usamos correctores ortográficos, herramientas de revisión gramatical que sugieren reformulación, texto predictivo y sugerencias de respuesta automática por correo electrónico, todo generado por máquina”, nos recuerda el documento. “En un contexto de programación, la mayoría de los entornos de desarrollo admiten la finalización de código que sugiere código generado por máquina.

Usamos correctores ortográficos, herramientas de revisión gramatical que sugieren reformular...

“Distinguir entre diferentes formas de sugerencias de máquinas puede ser un desafío para los académicos, y no está claro si podemos esperar razonablemente que los estudiantes de programación introductoria que no están familiarizados con el soporte de herramientas distingan entre diferentes formas de sugerencias de código generadas por máquinas”.

Los autores dicen que esto plantea una cuestión filosófica clave: "¿Cuánto contenido puede generar una máquina sin dejar de atribuir la propiedad intelectual a un ser humano?"

También destacan cómo los modelos de IA no cumplen con los requisitos de atribución detallados en las licencias de software y no responden a las preocupaciones éticas y ambientales sobre la energía utilizada para crearlos.

Los beneficios y daños de las herramientas de IA en la educación deben abordarse, concluyen los investigadores, o los educadores perderán la oportunidad de influir en la evolución de esta tecnología.

Y tienen pocas dudas de que está aquí para quedarse. El segundo papel, “Uso de modelos de lenguaje extenso para mejorar los mensajes de error de programación”, [PDF] ofrece un ejemplo del valor potencial de modelos de lenguaje extenso como Codex de Open AI, la base de Copilot.

Los autores Juho Leinonen (Universidad Aalto), Arto Hellas (Universidad Aalto), Sami Sarsa (Universidad Aalto), Brent Reeves (Universidad Cristiana de Abilene), Paul Denny (Universidad de Auckland), James Prather (Universidad Cristiana de Abilene) y Becker han aplicado Codex a los mensajes de error de computadora típicamente crípticos y descubrió que el modelo de IA puede hacer que los errores sean más fáciles de entender, al ofrecer una descripción en inglés simple, lo que beneficia tanto a los maestros como a los estudiantes.

“Los modelos de lenguaje grandes se pueden usar para crear mejoras útiles y amigables para los principiantes en los mensajes de error de programación que a veces superan los mensajes de error de programación originales en interpretabilidad y capacidad de acción”, afirman los científicos en su artículo.

Por ejemplo, Python podría emitir el mensaje de error: "SyntaxError: EOF inesperado durante el análisis". Codex, dado el contexto del código involucrado y el error, sugeriría esta descripción para ayudar al desarrollador: “El error se debe a que el bloque de código espera otra línea de código después de los dos puntos. Para solucionar el problema, agregaría otra línea de código después de los dos puntos”.

Sin embargo, los hallazgos de este estudio dicen más sobre la promesa que sobre la utilidad actual. Los investigadores introdujeron el código Python roto y los mensajes de error correspondientes en el modelo Codex para generar explicaciones de los problemas y evaluaron esas descripciones para: comprensibilidad; contenido innecesario; tener una explicación; tener una explicación correcta; tener una solución; la corrección de la corrección; y valor agregado del código original.

Los resultados variaron significativamente entre estas categorías. La mayoría eran comprensibles y contenían una explicación, pero el modelo ofrecía explicaciones correctas para ciertos errores con mucho más éxito que otros. Por ejemplo, el error "no se puede asignar la llamada de función" se explicó correctamente el 83 por ciento de las veces, mientras que "EOF inesperado] durante el análisis" se explicó correctamente solo el 11 por ciento de las veces. Y la corrección general promedio de mensajes de error fue correcta solo el 33 por ciento de las veces.

“En conjunto, los evaluadores consideraron que el contenido creado por el Codex, es decir, la explicación del mensaje de error y la solución propuesta, fueron una mejora con respecto al mensaje de error original en poco más de la mitad de los casos (54 por ciento)”, afirma el documento.

Los investigadores concluyen que, si bien las explicaciones de los mensajes de error de programación y las correcciones sugeridas generadas por modelos de lenguaje grandes aún no están listas para su uso en producción y pueden inducir a error a los estudiantes, creen que los modelos de IA podrían volverse expertos en abordar errores de código con más trabajo.

Espere que ese trabajo ocupe a la industria tecnológica, la academia, el gobierno y otras partes interesadas en los próximos años. ®

punto_img

Información más reciente

punto_img