Impresión 3D para la enseñanza de estructuras de datos computacionales

Después de casi medio siglo, la enseñanza de temas claves de programación computacional se sigue haciendo con técnicas tradicionales. Conoce cómo incorporar el uso de la impresión 3D en clases de computación, para ayudar a los estudiantes a comprender conceptos complejos y mejorar sus habilidades de programación.

Impresión 3D para la enseñanza de estructuras de datos computacionales
Una lectura de 12 minutos

¿Te ha pasado que explicas conceptos muy abstractos en clase, pero los estudiantes no terminan de comprenderlos? Un mecanismo útil para lidiar con la abstracción en la clase de programación computacional es el uso de modelos físicos en resina, similares a los juguetes que usábamos de pequeños para aprender. La impresión 3D abre la posibilidad de crear modelos físicos a escala que representen conceptos teóricos abstractos, ayudando al estudiantado a conectar la teoría con la práctica de manera tangible e interactiva. En el ámbito educativo, esta tecnología se ha incorporado con éxito para la enseñanza en varias áreas de conocimiento; sin embargo, en el área de computación no he encontrado un avance similar. En este artículo, les comparto cómo incorporar el uso de la impresión 3D para crear material didáctico tangible que los estudiantes de computación puedan utilizar para mejorar la comprensión de conceptos complejos y sus habilidades de programación.

Hoy en día es factible encontrar universidades que han integrado la impresión 3D con fines pedagógicos en distintas áreas de conocimiento. Por ejemplo, en el área de ingeniería se utiliza la impresión de moléculas para explicar conceptos químicos (Trujillo-Cayado et al., 2024), en medicina se imprimen modelos físicos en forma de cadáveres para impartir lecciones de anatomía (Lim, et al., 2015) y componentes estructurales del cuerpo humano, como los músculos del corazón (Salewski et al., 2022). En veterinaria, se hace un uso similar imprimiendo modelos de esqueletos felinos a mayor escala (Fidanci y Orhan, 2025). En el área de educación robótica se imprimen piezas de robots diseñados por estudiantes (Kefalis et al., 2024), mientras que en la educación biomédica se imprimen piezas de equipo para rehabilitación muscular (Munir et al., 2025). Sin embargo, no he identificado una evolución comparable de esta tecnología aplicada a la enseñanza en el campo de la informática. Como área, nos hemos apoyado fuertemente en animaciones, simulaciones digitales y código. Por ello, considero que debemos explorar el uso de la impresión 3D en la parte de la computación.

La impresión 3D, o impresión de resina por capas con luz ultravioleta, nació con el Dr. Hideo Kodama en 1981. Cinco años después, Chuck Hull registró su propia patente en 1986 para la estereolitografía (SLA) por sus siglas en inglés y comercializó la tecnología. Hoy en día, cuarenta años después, se estima que para el 2030 esta industria tendrá un valor aproximado de cuarenta billones de dólares entre el mercado de impresoras en fábricas y el de impresoras caseras (Ultimaker, 2025). El empuje general de las impresoras 3D ha cobrado fuerza en las aulas en la última década, encontrando nuevas avenidas de uso transformando la enseñanza (Andic 2024). La relevancia del tema y la cantidad de aplicaciones son tales que compañías diseñadoras de impresoras 3D como 3Ds y Formlabs formalmente reconocen el mercado educativo para impresoras 3D. Con el avance tecnológico de las impresoras se ha dado la miniaturización y con ello su masificación. Esto ha logrado bajar los costos de impresión a un grado en el que ya se pueden generar modelos 3D a la medida para un salón de clases.

Después de casi medio siglo se sigue enseñando con técnicas tradicionales

Desde los años setenta, la enseñanza de las estructuras de datos se incluyó en el currículo de las carreras de computación o informática. Aunque el tema ya era de gran importancia desde la década de los sesenta, su popularidad creció como un tema clave central de la computación a partir de la publicación del libro Algorithms + Data Structures = Programs, de Niklaus Wirth, en 1976. Durante las siguientes décadas, los libros de texto y el código fueron la norma para enseñar estructuras de datos.

Posteriormente, con el acceso a computadoras personales, la norma evolucionó, ya que los estudiantes podían implementar de manera práctica en un lenguaje de programación diferentes estructuras de datos a partir de los diagramas y definiciones. Es importante recalcar que las definiciones, los diagramas y el código, tienen un alto grado de complejidad y abstracción.

A continuación, un ejemplo extraído del libro de texto más famoso y popular del área de computación desde su primera edición, en 1990, hasta su cuarta edición en 2022. La imagen es de la tercera edición (Cormen, 2009).

Imagen 1. Por mucho tiempo, el estudio de las estructuras de datos se ha realizado a través de la lectura de definiciones teóricas complejas y descripciones en diagramas.

Afortunadamente, desde 1981 comenzaron pequeños esfuerzos para tener visualizaciones de algoritmos por medio de videos, y cada año, con el avance de las interfaces gráficas en Java y con el boom de internet con Javascript, se generaban visualizaciones cada vez más completas. Para el año 2010 ya era común acompañar las definiciones de libros de texto con animaciones o simulaciones. Desde entonces, las simulaciones se usan para ejemplificar mejor los procesos o algoritmos y para simplificar lo más posible la transición de los algoritmos a código de programación. Sin embargo, debido a la multidimensionalidad y abstracción que tienen estos conceptos, es común perder a más de un aprendiz en la explicación de algoritmo a código, generando frustración tanto en los estudiantes como en las y los docentes. Por ello, es muy importante seguir buscando nuevas formas de replantear, expandir y profundizar nuestra didáctica.

A continuación, les comparto dos ejemplos de simuladores muy populares en línea y gratuitos que pueden utilizar para su clase de programación. El primer simulador Data Structure Visualizations es de David Galles de la Universidad de San Francisco, vigente desde 2011. En la imagen 2 se simula la operación de una pila o stack por su nombre en inglés.

Imagen 2. Ejemplo de una simulación para insertar un elemento en la estructura. La estructura de datos es una pila y se inserta el número 10, resaltando con colores la parte importante de la operación. Este simulador no muestra el código.

El segundo simulador VisuAlgo es de la Universidad Nacional de Singapur. En la imagen 3 se muestra una lista encadenada o linked list en inglés y el código para realizar una inserción.

Imagen 3. Ejemplo de una simulación que también presenta el código. La estructura es una lista encadenada, arriba se ve la representación de la lista y abajo en verde se ve el código para insertar un nuevo elemento en la lista.

Aunque los simuladores han ayudado a mejorar la enseñanza de la programación en código, es un proceso que tiene al menos dos capas de complejidad o abstracción. La primera es el algoritmo, que es una descripción de un proceso que se puede describir de manera visual con diagramas o en lenguaje natural; y la segunda capa es el código, que es la traducción del algoritmo a un lenguaje abstracto que la computadora pueda entender. Ambas capas son abstracciones, una en un sistema lógico, es decir, la idea, y la otra en un lenguaje de programación que es la implementación de la idea.

El problema con las simulaciones es que hay ocasiones en que los estudiantes entienden la idea, pero no son capaces de escribirla en código. Las simulaciones en particular son útiles para explicar procesos, pero no siempre logran conectarse bien con el código. Muchas de las simulaciones más sofisticadas muestran el código a la par de la simulación, pero a veces, llegan a resultar en una saturación cognitiva brutal.

El grado de abstracción es aún mayor en estructuras de datos más complejas

El problema se acentúa en áreas de mayor abstracción como las estructuras de datos y programación orientada a objetos, donde ambos el código y la simulación son abstractos. Por poner un ejemplo extremo las explicaciones terminan siendo del tipo:

“La primera cosa genérica (dato) se conecta con la segunda cosa genérica (dato) por medio de la relación abstracta a la cosa genérica del mismo tipo (apuntador)”.

La explicación es correcta, pero incluso con animaciones de bolitas y rayitas, se vuelve difícil de digerir. Además, con frecuencia el salto del algoritmo a código requiere tiempo y llega a ser frustrante.

Para clarificar, agrego un ejemplo de la estructura de datos más básica y simple, la “lista encadenada”. Así es como se ve la definición conceptual en una visualización:

Imagen 4. Ejemplo en formato lógico o simbólico de una lista encadenada, este formato es común en libros.

Así se ve un nodo o cuadrito en código:

struct Node {

           int data;

           struct Node* next;

}

Si bien existen algunos reportes técnicos provenientes de universidades publicados en foros como la ACM y en repositorios de acceso abiertos como https://openportal.isti.cnr.it, no se han identificado trabajos formales en la literatura académica que se enfoquen específicamente en el área de estructura de datos, que son una parte central del currículum de cualquier programa académico de computación, y uno de los principales temas de preguntas entrevistas técnicas para conseguir empleo.

Impresión 3D para la enseñanza de estructuras de datos computacionales

Para mi clase de programación diseñé e imprimí piezas en resina de estructuras de datos con el fin de explicar cómo funciona el proceso de ensamble entre las piezas, identificar mejor dónde inicia y dónde acaba el proceso. El objetivo fue intentar simplificar el brinco de la simulación/visualización a la implementación del código de programación.

Para las pruebas iniciales seleccioné temas introductorios de la materia de estructuras de datos con listas ligadas, pilas y colas. Estas tres estructuras comparten múltiples elementos en común, ya que pilas y colas pueden considerarse subtipos de listas; por lo tanto, las piezas diseñadas pueden reutilizarse entre ellas.

Las impresiones en resina fueron piezas tipo genéricas que permitían ensamblarlas de forma modular con el objetivo de representar el dato y el apuntador. El apuntador es una instrucción de implementación que se usa como conexión a otro dato. En este punto, estamos en una representación intermedia entre el algoritmo y el código, pero con un modelo físico y tangible. De esta forma podemos armar las escrituras de datos con los datos como si fueran LEGO, pero con piezas que representan mejor la implementación con apuntadores.

Las impresiones se realizaron con el equipo de Mostla del campus Querétaro, que es un departamento que presta equipo para proyectos académicos.

Imagen 5: Piezas impresas para enseñar la estructura de datos (lista encadenada): Null, Nodo y Head.

En total, imprimimos siete piezas, representando cada una un objeto con su dato y su apuntador. Una pieza inicial, representando la cabeza o tope de la estructura. Una pieza final, representando el fin de la estructura o un objeto nulo.

Imagen 6: Explicación de las estructuras de datos en clase híbrida con teoría, código, visual y con modelos físicos impresos (2024).

La dinámica en clase se desarrolló en varias etapas: primero, se explicó la teoría en el pizarrón; después, se utilizó una simulación visual; posteriormente, se introdujeron los modelos 3D y se entregaron a los estudiantes. Los estudiantes interactuaron con las piezas 3D de forma práctica y exploratoria; es decir, concretaban las representaciones visuales y objetos físicos y ensamblaban las piezas de las estructuras para entender mejor la relación entre dato y apuntador. Finalmente, los estudiantes implementaron las estructuras en programas computacionales.

Imagen 7: Estudiantes experimentan con piezas impresas para la enseñanza de las estructuras de datos (Ago-Dic 2025).

Las y los estudiantes experimentaron en clase con piezas impresas en resina para comprender mejor los temas de estructuras de datos. Sin embargo, me gustaría contar con más piezas para que todos los estudiantes puedan usarlas al mismo tiempo.

Los modelos físicos en impresión 3D sí ayudan a mejorar las explicaciones conceptuales

Los modelos 3D se probaron con un grupo de 20 estudiantes de programación de tercer semestre de estructuras de datos en 2024 y otro grupo de 18 estudiantes en 2025. Las intervenciones y las mediciones fueron diseñadas de forma que no cambiaran las dinámicas de clase, salvo por la explicación adicional de 10 minutos con los modelos 3D. Se presentaron todos los temas a lo largo de tres semanas, un tema por semana, y se aplicó una encuesta al final del curso. La encuesta se diseñó para medir la percepción del estudiantado siguiendo el formato Likert. Las preguntas buscaban detectar la preferencia de los estudiantes en el formato de la explicación y si realmente consideran útil el uso adicional de las estructuras físicas impresas en 3D en el proceso. Al final, de los 38 estudiantes, 31 contestaron la encuesta.

Todos los estudiantes respondieron que preferían explicaciones en formatos mixtos y complementarios, como era de esperarse. Al pedirles que registraran los formatos de su preferencia (podían seleccionar varios), la mayoría optó en primer lugar por código, después por modelos físicos, después por simulaciones, uso de pizarrón y al final por las explicaciones verbales teóricas. Cabe destacar que las simulaciones, el uso de pizarrón y los modelos físicos quedaron casi empatados en un 80 % de preferencia.

También, preguntamos para cada estructura de manera individual: listas, queues y stacks, si les había sido útil el tener un modelo 3D para entender mejor el tema. Los porcentajes de aceptación del uso de modelos 3D para cada estructura fueron los siguientes: listas 96.8 %, queues 90 % y stacks 90 %. En general, contestaron de manera positiva arriba del 90 %. Y al preguntarles en qué otra estructura querían ver modelos físicos, contestaron en su mayoría árboles en primer lugar, seguidos por grafos y, en empate, hashes y algoritmos de ordenamiento.

En general las encuestas confirman lo que vemos en la literatura del área, que los modelos físicos sí ayudan a mejorar las explicaciones, pero no deben de usarse como sustitutos. Es importante entender que la mejora viene más por el lado motivacional del estudiante, es decir, siente que le ayuda más y, por ende, se muestra más receptivo y mejora su experiencia de aprendizaje. Sin embargo, hacen falta más estudios para ver si esto tiene un impacto en sus calificaciones. 

Adicionalmente, se confirma que en el área de computación las simulaciones y el código son los formatos preferidos y los formatos a los que están más acostumbrados. También, que no bastan explicaciones puristas en un solo formato, sino que se requieren aproximaciones mixtas.

Reflexión

En retrospectiva, creo que pequeñas acciones como estas ayudan de varias formas a mejorar la experiencia del estudiante y del docente. En particular, mejoran el ambiente en el aula porque los estudiantes perciben un esfuerzo palpable por llevarles los mejores recursos didácticos posibles,y esta percepción ayuda a mantener un ambiente sano donde las explicaciones fluyen mejor. Además, nos permite ver un tema abstracto desde una perspectiva diferente y, desde la experiencia personal, creo que el simple hecho de diseñar los modelos físicos profundizó mi comprensión del tema.

Existen tres áreas en las que queremos mejorar. 1) Realizar un estudio más sofisticado para medir el impacto directo en el aprendizaje más allá de la percepción. 2) Imprimir piezas más adecuadas para estructuras más complejas, actualmente estamos trabajando en imprimir nodos para grafos. 3) También sería útil imprimir más piezas para que todos los estudiantes puedan usarlas al mismo tiempo y no tener que estar prestando.

Si tienen una impresora 3D a la mano, ya sea en la universidad o propia, existen una gran variedad de recursos gratuitos que pueden usar para arrancar. Podrían diseñar su material de manera propia o buscar un repositorio que tenga piezas similares a lo que buscan. Basta con tener una idea de un tema para hacer la prueba, no es necesario (ni tampoco es el objetivo), imprimir modelos de todo el temario.  Si tienen cualquier duda o sugerencia me pueden contactar en bvaldesa@tec.mx

Acerca del autor

Benjamín Valdés Aguirre (bvaldesa@tec.mx) es Doctor en Ciencias Computacionales con especialidad en Inteligencia Artificial. Es profesor de planta de computación en campus Querétaro y tiene 12 años de experiencia desarrollando cursos de computación e inteligencia artificial.

Referencias

Adeyemi, A. A., Jarad, F. D., Komarov, G. N., Pender, N., & Higham, S. M. (2008). Assessing Caries Removal by Undergraduate Dental Students Using Quantitative Light‐Induced Fluorescence. Journal of Dental Education, 72(11), 1318–1323. Wiley. https://doi.org/10.1002/j.0022-0337.2008.72.11.tb04614.x

Anđić, B., Maričić, M., Weinhandl, R. et al.  (2024). Metaphorical evolution: A longitudinal study of secondary school teachers’ concepts of 3D modelling and printing in education. Educ Inf Technol 29, 14091–14126 https://doi.org/10.1007/s10639-023-12408-x

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (3rd ed.). The MIT Press

Fidanci G. S., Orhan I. (2025). The Role of 3D Laser Scanning and Printing in Veterinary Anatomy Education: A Study on Feline Scapula and Humerus. Indian Journal of Animal Research. 59(9): 1593-1598. doi: 10.18805/IJAR.BF-1986.

Kefalis, C., Skordoulis, C., Drigas, A. (2024). The Role of 3D Printing in Science, Technology, Engineering, and Mathematics (S.T.E.M.) Education in General and Special Schools.  International Journal of Online and Biomedical Engineering (iJOE), 20(12), pp.  4–18.

Lim, K. H. A., Loo, Z. Y., Goldie, S. J., Adams, J. W., & McMenamin, P. G. (2015). Use of 3D printed models in medical education: A randomized control trial comparing 3D prints versus cadaveric materials for learning external cardiac anatomy. Anatomical Sciences Education, 9(3), 213–221. Wiley. https://doi.org/10.1002/ase.1573

McMenamin, P. G., Quayle, M. R., McHenry, C. R., & Adams, J. W. (2014). The production of anatomical teaching resources using three‐dimensional (3D) printing technology. Anatomical Sciences Education, 7(6), 479–486. Wiley. https://doi.org/10.1002/ase.1475

Munir, M. T., Jamwal, P. K., Li, B., Carter, S., & Hussain, S. (2025). Revolutionising engineering pedagogy: The role of 3D printing in modern engineering education. Innovations in Education and Teaching International, 62(2), 575-593.

Salewski, C., Nemeth, A., Sandoval Boburg, R., Berger, R., Hamdoun, H., Frenz, H., Spintzyk, S., Hahn, J. K., Schlensak, C., & Krüger, T. (2022). The impact of 3D printed models on spatial orientation in echocardiography teaching. BMC Medical Education, 22(1). Springer Science and Business Media LLC. https://doi.org/10.1186/s12909-022-03242-9

Trujillo‐Cayado, L. A., Santos, J., Cordobés, F., & Ramos‐Payán, M. (2024). Influence of the use of 3D printing technology for teaching chemistry in STEM disciplines. Computer Applications in Engineering Education, 32(4). Wiley. https://doi.org/10.1002/cae.22738

Ultimaker. (n.d.). The complete history of 3D printing. Ultimaker. Retrieved November 17, 2025, from https://ultimaker.com/learn/the-complete-history-of-3D-printing/

Edición


Edición por Rubí Román (rubi.roman@tec.mx) – Editora de los artículos Edu bits y productora de los Webinars del Observatorio – «Aprendizajes que inspiran» – Observatorio del Instituto para el Futuro de la Educación del Tec de Monterrey.


Este artículo del Observatorio del Instituto para el Futuro de la Educación puede ser compartido bajo los términos de la licencia CC BY-NC-SA 4.0