Una IA para asistir en el aprendizaje de uno de los aspectos más complejos de la programación
La herramienta desarrollada en la UMH ayuda al alumnado a practicar el lenguaje ensamblador y puede funcionar sin conexión a Internet ni enviar datos a la nube
Un asistente de inteligencia artificial desarrollado en la Universidad Miguel Hernández de Elche (UMH) ayuda al alumnado de Ingeniería a dar uno de los saltos más difíciles en el aprendizaje de la programación: pasar de lenguajes de alto nivel —como Python, Java o C++, diseñados para ser relativamente comprensibles para las personas— a un lenguaje mucho más próximo al código máquina que ejecuta el procesador. El asistente, denominado CODE2_AI, puede utilizarse en los ordenadores del aula, sin conexión a Internet ni envío de datos a servicios externos, y su código está disponible en abierto. El trabajo, publicado en la revista Computer Applications in Engineering Education, evalúa el funcionamiento técnico del sistema. Su posible efecto sobre el aprendizaje deberá estudiarse en una fase posterior.
“Los lenguajes de programación de alto nivel, como Python, Java o C++, permiten expresar de forma comprensible para una persona qué queremos que haga el ordenador”, explica el profesor de Arquitectura y Tecnología de Computadores de la UMH Federico García Crespi, creador de la herramienta, “mientras que distintos mecanismos de traducción permiten transformar esas instrucciones en representaciones cada vez más próximas a las que puede ejecutar el procesador”.

Imagen: Esquivalience. Obra propia, vía Wikimedia Commons.
En último término, el procesador ejecuta código máquina: instrucciones codificadas mediante bits, valores que solo pueden ser 0 o 1 y que, físicamente, se representan mediante estados eléctricos en los circuitos del computador. Estas largas secuencias binarias resultarían muy difíciles de escribir y leer directamente para una persona. El lenguaje ensamblador evita trabajar directamente con ellas y utiliza nombres breves para representar las operaciones que puede realizar una determinada arquitectura, pero obliga a especificar con mucha precisión cada operación.
“Para entender esa diferencia, podemos imaginar que queremos preparar una tortilla de patatas”, relata el profesor de la UMH. “A una persona puede bastarle con decirle «haz una tortilla» y ya sabe qué tiene que hacer”. Un ordenador, en cambio, no dispone de todo ese conocimiento implícito. Cada operación debe expresarse de acuerdo con las instrucciones y recursos que proporciona su arquitectura. “En los lenguajes de más alto nivel, bastaría con decir «corta la patata», pero, conforme nos acercamos al lenguaje máquina, habría que indicar cómo acercar el cuchillo, a qué distancia colocarlo, con qué ángulo efectuar el corte y cuándo repetir el movimiento”, aclara el profesor.

Imagen: BigDumbDinosaur, en representación de BCS Technology Limited. Wikimedia Commons. Licencia CC BY-SA 3.0.
Lo que para una persona constituye una sola orden debe descomponerse, para una máquina, en muchas operaciones elementales y, en última instancia, en instrucciones codificadas mediante unos y ceros. “Cuanto más descendemos hacia el funcionamiento interno del computador, menos cosas podemos dar por supuestas”, concluye el experto, “y nadie podría escribir una receta de cocina en lenguaje binario”.
“Es un cambio importante en la forma de pensar”, explica García Crespi. “El estudiante puede saber perfectamente qué quiere hacer y, sin embargo, quedarse bloqueado cuando tiene que traducir esa idea a las instrucciones concretas que entiende la arquitectura”.
Del ‘quiero hacer esto’ a las instrucciones del procesador
Una instrucción sencilla para un ordenador podría ser «suma el contenido de dos registros y guarda el resultado en un tercero». Un registro es una pequeña memoria de trabajo situada dentro del propio procesador. En CODE-2, una arquitectura de computador diseñada para la enseñanza y utilizada en estas prácticas, esa petición debe convertirse en una instrucción con una sintaxis exacta, por ejemplo, ADDS r3,r1,r2.
CODE2_AI realiza precisamente esa primera traducción: el estudiante describe en lenguaje natural qué quiere hacer —«suma el contenido de dos registros…»— y el asistente propone la instrucción correspondiente —ADDS r3,r1,r2—. El modelo reconoce qué operación pretende realizar el estudiante, identifica los operandos y genera una instrucción válida dentro del repertorio y la sintaxis de CODE-2.

Uno de los problemas pedagógicos que CODE2_AI pretende abordar es la carga cognitiva. En concreto, la sobrecarga mental que se produce durante el aprendizaje de algo muy complejo. Cuando empieza a programar en ensamblador, el alumnado tiene que resolver el problema y, al mismo tiempo, recordar los registros disponibles, las posiciones de memoria, las instrucciones de comparación y de salto, así como una sintaxis muy estricta. “Todo ello compite por nuestra memoria de trabajo”, relata García Crespi, “es decir, por la capacidad limitada de las personas para mantener y manejar varias informaciones a la vez mientras resolvemos una tarea”. Esta acumulación puede producir algo parecido al ‘síndrome de la página en blanco’: el estudiante entiende el problema, pero no sabe cómo empezar a convertirlo en código.
“Además, cuando estás aprendiendo a programar, una duda muy pequeña de sintaxis puede bloquear todo el ejercicio. Lo que hace nuestro asistente es proporcionar ese apoyo inicial en el momento en que aparece la dificultad, no resolver la práctica en lugar del estudiante”, señala García Crespi. El objetivo es descargar parte del esfuerzo dedicado a recordar la forma exacta de una instrucción para que el alumnado pueda concentrarse en comprender qué operación necesita y por qué.
Por el momento, esa reducción de la carga cognitiva es una hipótesis pedagógica que aún debe comprobarse. El estudio publicado evalúa el funcionamiento técnico de CODE2_AI y muestra buenos resultados en la exactitud de las instrucciones generadas, la reducción del tiempo de respuesta y la posibilidad de ejecutar el modelo localmente en ordenadores convencionales. Sin embargo, todavía no permite afirmar que su uso mejore el aprendizaje ni el rendimiento académico del alumnado.
Una IA especializada que funciona sin Internet
El sistema desarrollado en la UMH utiliza un modelo T5-Small entrenado específicamente para el lenguaje de programación CODE-2 con 50.000 ejemplos de tareas y sus correspondientes instrucciones. Después, la inteligencia artificial se optimizó para ejecutarse directamente en ordenadores convencionales, utilizando únicamente su procesador (CPU), sin necesidad de una tarjeta gráfica especializada ni de conectarse a servicios en la nube.
La elección de un modelo pequeño y especializado responde también a un problema de ingeniería: una herramienta pensada para utilizarse de forma simultánea por numerosos estudiantes en un laboratorio debe ofrecer respuestas rápidas sin exigir una infraestructura de cálculo costosa. Ejecutar la IA en el propio ordenador evita depender de servicios externos, elimina los costes asociados a su uso y permite que los datos introducidos por el alumnado permanezcan dentro del equipo o de la infraestructura universitaria.
Frente a los grandes modelos generalistas, el sistema se ha diseñado para resolver una tarea deliberadamente acotada. Esa especialización permite reducir considerablemente sus necesidades de cómputo manteniendo un rendimiento elevado en el dominio para el que ha sido entrenado.
Esta posibilidad de ejecutar modelos localmente depende, en general, de los recursos del ordenador. García Crespi señala que los modelos de IA más grandes pueden requerir grandes cantidades de memoria RAM e incluso una tarjeta gráfica específica. Precisamente por eso, uno de los objetivos técnicos de este trabajo ha sido lograr que el asistente funcione únicamente con la CPU de equipos convencionales de laboratorio y no dependa de que cada estudiante disponga de hardware especializado.

Los resultados indican que esa optimización mantiene prácticamente intacta la capacidad del modelo. En las pruebas, el sistema produjo exactamente la instrucción esperada en el 94,1 % de los casos. Además, la optimización redujo el tiempo de respuesta en un 69 % —de unos 1,7 segundos a poco más de medio segundo—, con una pérdida de precisión inferior al 1 %. En la práctica, esto significa que el modelo puede ofrecer respuestas casi inmediatas en un ordenador convencional con un coste computacional considerablemente menor.
El sistema también fue sometido a pruebas con errores tipográficos, instrucciones incompletas y mezclas de español e inglés, situaciones habituales al utilizar una herramienta de este tipo en clase. “Hemos comprobado en situaciones reales cuándo responde correctamente y también en qué condiciones empieza a fallar”, relata García Crespi. “Poder probar y mejorar el sistema en el aula hubiera sido imposible sin la colaboración del alumnado de Arquitectura de Computadores de la UMH, a quienes agradezco especialmente su participación durante todo este proceso”.
La IA propone; el estudiante comprueba
Las herramientas de inteligencia artificial ya son capaces de generar fragmentos de código y automatizar parte del trabajo de programación. Para García Crespi, esto hace cada vez más importante aprender a evaluar críticamente lo que genera una máquina. “Por eso, la herramienta no está diseñada para que el alumnado copie automáticamente el resultado”, apunta el profesor. El docente subraya que generar una instrucción no significa comprenderla: “Lo importante sigue siendo que el estudiante sepa qué está haciendo, qué es una instrucción, cómo funciona la memoria y qué ocurre cuando ejecuta el código. Esa es la parte del aprendizaje que no deberíamos delegar en la IA”.
El código propuesto por CODE2_AI puede verificarse posteriormente en un simulador de CODE-2, donde el estudiante puede ejecutarlo paso a paso y observar qué sucede en los registros y en la memoria. De este modo, la respuesta del modelo es sólo una hipótesis que debe contrastarse mediante la ejecución.

“La IA puede ayudar a proponer código, interpretar errores o explorar alternativas, pero el estudiante debe comprobar, ejecutar y justificar lo que obtiene”, explica García Crespi. La comprobación, por tanto, forma parte del propio ejercicio de aprendizaje. Tras evaluar técnicamente el sistema y probarlo en el aula, uno de los siguientes pasos será estudiar su efecto pedagógico y comparar el aprendizaje de los estudiantes que utilizan el asistente con el de quienes realizan las prácticas sin esta ayuda. “Estamos preparando una evaluación con actividades de predicción, ejecución y verificación, pero aún no podemos afirmar que mejore los resultados académicos del alumnado”, adelanta García Crespi.
Dos herramientas complementarias
CODE2_AI, el asistente de inteligencia artificial objeto del artículo, puede probarse directamente a través de la demostración web Code2_AI: el usuario escribe en lenguaje natural qué quiere hacer y recibe las instrucciones correspondientes en ensamblador CODE-2. El código completo del proyecto está publicado en GitHub, lo que también permite acceder a la versión preparada para su ejecución local.
El profesor García Crespi también ha desarrollado MiniCode2Web, una versión reducida del simulador de CODE-2. Esta versión, actualmente en fase de pruebas, funciona directamente en el navegador y no requiere instalación, lo que facilitará que el alumnado pueda seguir practicando fuera del laboratorio y en distintos sistemas operativos.
Referencia: Garcia Crespi, F. (2026). Engineering a Scalable Laboratory Infrastructure for Assembly Language Scaffolding: Design and Deployment of a Locally Optimized GenAI Assistant for the CODE-2 Educational Architecture. Computer Applications in Engineering Education, 34(3), e70196. https://doi.org/10.1002/cae.70196