Estudiantes Internacionales Estudiantes Internacionales en la Universidad de Palermo Reuniones informativas MyUP
Universidad de Palermo - Buenos Aires, Argentina

Facultad de Diseño y Comunicación Inscripción Solicitud de información

  1. Diseño y Comunicación >
  2. Publicaciones DC >
  3. Reflexión Académica en Diseño y Comunicación. Nº XL >
  4. Robótica Educativa aplicada al Aprendizaje de los Fundamentos de la Arquitectura de Computadoras y de la Programación en Lenguaje de Máquina

Robótica Educativa aplicada al Aprendizaje de los Fundamentos de la Arquitectura de Computadoras y de la Programación en Lenguaje de Máquina

Ávalos, Matías Sebastián ; Corsi, Diego Pablo

Reflexión Académica en Diseño y Comunicación. Nº XL

Reflexión Académica en Diseño y Comunicación. Nº XL

ISSN: 1668-1673

Interfaces en Palermo VI. Congreso para Docentes, Directivos, Profesionales e Instituciones de nivel Medio y Superior

Año XX. Vol. 40, Noviembre 2019, Buenos Aires, Argentina | 266 páginas

descargar PDF ver índice de la publicación

Ver todos los libros de la publicación

compartir en Facebook


Licencia Creative Commons Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional

Resumen: La exigencia de una mayor productividad ha hecho surgir lenguajes de programación con un nivel de abstracción cada vez más alto. A menudo estos temas representan un desafío infranqueable para muchos estudiantes, existen prácticas docentes innovadoras para allanar el camino, como es el caso de la Robótica Educativa. En esta oportunidad, relatamos una experiencia realizada en UTN-INSPT donde, durante la cursada de la materia Sistemas de Computación I, se usó un lenguaje de máquina para programar un robot capaz de dibujar gráficos de tortuga. La observación de la experiencia permitió constatar, por un lado, un impacto positivo en la motivación de los estudiantes y, por otro lado, la aplicación de diversas competencias.

Palabras clave: Innovación educativa – robótica - arquitectura - computadora - lenguaje – programación

[Resúmenes en inglés y portugués en la página 96]

_______________________________________________________________________

Introducción

La sociedad de la información en que vivimos exige la producción cada vez más rápida de software de calidad. Según Kennedy, Koelbel y Schreiber (2004), hay dos formas de abordar este objetivo. En primer lugar, podemos aumentar la eficacia de los desarrolladores de aplicaciones individuales al proporcionar lenguajes de programación y herramientas que mejoren su productividad. En segundo lugar, podemos ampliar la comunidad de desarrolladores de aplicaciones haciendo que la programación sea más accesible. El uso de lenguajes de alto nivel respalda ambas estrategias: al incorporar un nivel de abstracción más alto, dichos lenguajes facilitan y aceleran el desarrollo de aplicaciones (p. 441). No obstante, a veces los lenguajes de alto nivel son demasiado lentos para resolver ciertos problemas. En tales casos, los conocimientos de la arquitectura de la computadora y su programación en lenguaje de máquina pueden ser muy útiles a la hora de buscar una solución. Aunque a menudo entender estos temas representa un enorme desafío para gran parte de los estudiantes, existen prácticas docentes innovadoras que pueden ayudar a allanar el camino, como es el caso de la Robótica Educativa.

Rastreando los orígenes de esta disciplina, es posible llegar hasta el trabajo pionero de Seymour Papert, quien en los años 70 construyó una tortuga programable provista de sensores y más tarde sentaría las bases del construccionismo. Según esta teoría, cuando los estudiantes están involucrados en la creación de un objeto en el mundo real, su aprendizaje es muy efectivo (Papert, 1981). Esta teoría, a su vez, tiene sus raíces en el constructivismo de Jean Piaget, para quien el aprendizaje resulta de un proceso activo de construcción de conocimientos, obtenidos a través de experiencias de la vida real y vinculados al conocimiento previo del aprendiz.

Además del impacto positivo que el trabajo con robots puede tener sobre la motivación de los estudiantes, en los ambientes de robótica educativa, los estudiantes adquieren habilidades generales (por ejemplo, trabajo en equipo, pensamiento crítico, planificación y observación científica) y conocimientos científicos de campos como la ciencia experimental y la tecnología. La robótica educativa también presenta a los estudiantes conceptos avanzados de los campos de la simulación, la inteligencia artificial y la cognición. En estos ambientes de aprendizaje, los estudiantes descubren y utilizan diferentes nociones relacionadas con conceptos científicos, lenguajes de programación y tecnología, a través de un enfoque educativo interdisciplinario (Karatrantou y Panagiotakopoulos, 2012, p. 198).

Hoy en día, la robótica educativa está presente -en mayor o en menor grado- en todos los niveles del sistema educativo de la República Argentina.

Las Olimpíadas Argentinas de Robótica se llevan a cabo desde el año 2000 y han sido declaradas de interés del Honorable Senado de la Nación («Declarar de interés del Honorable Senado de la Nación la realización de las Olimpíadas Argentinas de Robótica, los días 15 y 16 de octubre en la Ciudad Autónoma de Buenos Aires.», s. f.).

En el marco del programa Robótica para educar («¿Qué es Robótica para Educar?», s. f.), desde 2011 el Ministerio de Ciencia, Tecnología e Innovación Productiva de la Nación viene entregando kits de robótica en escuelas.

En 2015, el festival Liber.ar llevado adelante por el Ministerio de Educación de la Nación convocó a más de 30 escuelas que presentaron sus trabajos y experiencias en programación y robótica con software libre («Festival de Robótica y Programación Liber.ar», s. f.).

En vista de lo expuesto, nos hemos planteado llevar a cabo esta investigación sobre la Robótica Educativa, pero no asociada esta vez con la programación en lenguajes de alto nivel -como sucede habitualmente- sino con la programación en lenguaje de máquina.

Objetivos de la investigación

Los objetivos de esta investigación son dos: por un lado, explorar cómo el uso de la Robótica Educativa orientado al aprendizaje de los fundamentos de la arquitectura de computadoras y de la programación en lenguaje de máquina impacta en la motivación de los estudiantes de la materia Sistemas de Computación I de la Tecnicatura Superior en Informática Aplicada de UTN-INSPT (Universidad Tecnológica Nacional - Instituto Nacional Superior del Profesorado Técnico); y por otro lado, determinar las diversas competencias puestas en juego al aprender con este nuevo recurso. En ambos casos, la finalidad es mejorar una práctica concreta: la enseñanza de la programación en lenguaje de máquina, de modo que se faciliten su aprendizaje y la adquisición de los fundamentos de la arquitectura de computadoras.

Metodología

Para cumplir los objetivos de esta investigación, decidimos adoptar un enfoque metodológico cualitativo, realizando un estudio de casos con un diseño de investigación-acción, dado que tenemos la intención de transformar y mejorar una propuesta de enseñanza (Hernández Sampieri, Fernández Collado y Baptista Lucio, 2014, p. 496). En nuestro caso, no fue posible definir la composición de la muestra al azar, ya que son los propios estudiantes quienes se inscriben voluntariamente para cursar la materia en los turnos observados. En consecuencia, el muestreo de los participantes se realizó mediante un procedimiento no probabilístico de conveniencia o incidental. Durante la experiencia se llevó a cabo una observación participante a fin de comprobar la motivación de los estudiantes y las competencias que ponían en juego.

Características de la muestra

La muestra estuvo formada por los 42 estudiantes de la carrera de Informática Aplicada de UTN-INSPT que cursaron la materia Sistemas de Computación I en 2018 en los turnos mañana y noche, de los cuales 37 eran hombres (88,1%) y 5 eran mujeres (11,9%), con una edad promedio de 28,4 años (desviación estándar = 4,73).

Descripción del instrumento

El instrumento utilizado en esta experiencia es BrookshearBot, un sistema de Robótica Educativa diseñado e implementado por uno de los autores de este artículo (Matías S. Ávalos) cuando era estudiante de la carrera de Informática Aplicada de UTN-INSPT. El sistema BrookshearBot está basado en tres componentes: un robot capaz de dibujar gráficos de tortuga, un entorno de desarrollo y una aplicación móvil.

El robot, inicialmente implementado en su totalidad con componentes reciclados, posee una unidad central de procesamiento basada en un microcontrolador AVR de relativamente bajo costo, programado en C para que sea capaz de ejecutar las 12 instrucciones del lenguaje de máquina presentado por J. Glenn Brookshear en su libro Introducción a la Computación (Brookshear, 2012, pp. 639-640), además de una nueva instrucción para controlar el comportamiento del robot (colores del trazo, movimientos lineales y giros).

El entorno de desarrollo permite visualizar algunos fundamentos de la arquitectura de computadoras (estructura y funcionamiento de la memoria y los registros de la CPU, el ciclo de instrucción, etc.), así como también editar programas en lenguaje de máquina, ejecutarlos en un emulador y transferírselos al robot a través de un cable USB. Fue desarrollado en JavaFX, gracias a lo cual es compatible con cualquier sistema operativo capaz de correr aplicaciones en Java, como, por ejemplo, GNU/Linux y Windows.

Por último, la aplicación móvil sirve para monitorear el estado del robot mediante un enlace de Bluetooth. Fue desarrollada en HTML5, CSS3 y TypeScript, utilizando los frameworks Angular e Ionic, y desplegada mediante Apache Cordova para las plataformas móviles más comunes, como, por ejemplo, iOS y Android.

Descripción de la experiencia

Primeramente, se explicó el funcionamiento básico del entorno de desarrollo del sistema BrookshearBot. Debido a que la materia Sistemas de Computación I es del segundo año de la carrera, los estudiantes no tuvieron ninguna dificultad con él, porque anteriormente ya habían visto otros entornos de desarrollo, como Code::Blocks, Qt Creator o NetBeans. A continuación, se mostró en el emulador la ejecución de un programa que dibujó una Rub el hizb (estrella de ocho puntas formada por dos cuadrados superpuestos con un pequeño círculo en el centro) usando solamente órdenes dadas al robot mediante la nueva instrucción agregada al conjunto de instrucciones original de Brookshear. Rápidamente, los estudiantes se dieron cuenta de que el programa era muy extenso (ocupaba más de la mitad de las 256 celdas de memoria disponibles) y no hacía uso de los registros.

A continuación, se explicó el resto de las instrucciones disponibles y se dibujó la misma Rub el hizb, pero esta vez mediante la ejecución de un programa que ocupaba mucho menos lugar en la memoria, gracias a que estaba optimizado por medio del uso de varios ciclos.

A partir de ese momento, toda la actividad pasó a manos de los estudiantes. Se les solicitó que borraran las instrucciones que dibujaban los cuadrados y que agregaran un segundo círculo para formar, con dos colores distintos, el símbolo del infinito.

Luego se les pidió que dibujaran un triángulo rectángulo de lados 30, 40 y 50, una tarea que no les resultó tan fácil, ya que debieron calcular previamente el valor de los ángulos que el robot debía girar.

En total, la experiencia se extendió durante dos clases de cuatro horas-reloj cada una. Durante el tiempo que duró, los estudiantes desarrollaron programas para que el robot dibujara varias figuras solicitadas (por ejemplo: la cruz de la bandera de Suiza, un círculo dividido en sectores, un gráfico de barras para representar los números triangulares) e inventaron voluntariamente sus propios mandalas al hacer que el robot dibujara una figura, efectuara un giro, y volviera a repetir nuevamente los dos pasos anteriores, la cantidad suficiente de veces.

Resultados

Se observó el potencial educativo de la robótica como elemento motivador (evidenciado en el entusiasmo con que los estudiantes desarrollaron programas para producir dibujos diversos en el emulador), así como también por las competencias que los estudiantes consiguieron aplicar, entre las cuales se destacan la capacidad creativa (evidenciada al describir algoritmos hasta entonces desconocidos por ellos), la capacidad de relacionar diversas áreas de estudios (evidenciada al aplicar, en una materia relacionada con el hardware de las computadoras, conocimientos de geometría para dibujar figuras), la capacidad de investigación en diversas fuentes (evidenciada al buscar ayuda en la Web), la capacidad de aprender (evidenciada al modificar algunos programas dados para resolver nuevas tareas) y la capacidad para el trabajo en equipo y autónomo (evidenciada durante toda la experiencia).

Discusión y conclusiones

El objetivo principal de la materia Sistemas de Computación I es enseñar los conceptos de la arquitectura de computadoras, y la experiencia demostró que trabajar con Robótica Educativa es una alternativa sumamente interesante, dado que la práctica con robots, haciendo uso de un lenguaje de máquina, se integra perfectamente en esta asignatura. Pero más allá de que este lenguaje sea aplicable en este contexto, lo importante es destacar la apertura hacia nuevas formas interdisciplinarias de construcción de saberes, ya que, en su práctica profesional futura, los egresados muchas veces se verán expuestos a situaciones complejas que probablemente deban ser enfrentadas desde una perspectiva multidisciplinaria.

Referencias bibliográficas

Brookshear, J. G. (2012). Introducción a la Computación (11ª Ed.). Madrid: Pearson Educación.

Declarar de interés del Honorable Senado de la Nación la realización de las Olimpíadas Argentinas de Robótica, los días 15 y 16 de octubre en la Ciudad Autónoma de Buenos Aires. (s. f.). Recuperado de: http://monitor.congresointeractivo.org/proyectos/3598-S-2010.

Festival de Robótica y Programación Liber.ar. (s. f.). Recuperado de: http://www.educ.ar/ sitios/educar/noticias/ver?id=128024&referente=noticias

Hernández Sampieri, R., Fernández Collado, C. y Baptista Lucio, P. (2014). Metodología de la investigación (6ª ed.). México, D.F.: McGraw-Hill Education.

Karatrantou, A. y Panagiotakopoulos, C. (2012). Educational Robotics and Teaching Introductory Programming Within an Interdisciplinary Framework. En A. Jimoyiannis (Ed.), Research on e-Learning and ICT in Education (pp. 197-210). New York: Springer.

Kennedy, K., Koelbel, C. y Schreiber, R. (2004). Defining and measuring the productivity of programming languages. The International Journal of High Performance Computing Applications, 18(4), 441–448.

Papert, S. (1981).Desafío a la mente. Computadoras y educación. Buenos Aires: Ediciones Galápago.

¿Qué es Robótica para Educar? (s. f.). Recuperado de: http://www.casarosada.gob.ar/pdf/robotica_para_educar.pdf

__________________________________________________

Abstract: The demand for greater productivity has given rise to programming languages with an increasingly higher level of abstraction. However, sometimes these languages are too slow to solve certain problems, and knowledge of computer architecture and its programming in machine language can help find a solution. Although these issues often represent an insurmountable challenge for many students, there are innovative teaching practices to pave the way, as is the case of Educational Robotics. In this opportunity, we report on an experience carried out at UTN-INSPT where, during some lectures on the subject Computer Systems I, a machine language was used to program a robot capable of drawing turtle graphics. The observation of the experience made it possible to verify, on the one hand, a positive impact on the motivation of the students and, on the other hand, the application of various competences.

Keywords: Educational innovation – robotics - computer architecture - machine language - programming

Resumo: A exigência de uma maior produtividade tem feito surgir linguagens de programação com um nível de abstracção a cada vez mais alto. Com frequência estes temas representam um desafio infranqueable para muitos estudantes, existem práticas de professores inovadoras para allanar o caminho, como é o caso da Robótica Educativa. Nesta oportunidade, relatamos uma experiência realizada em UTN-INSPT onde, durante a cursada da matéria Sistemas de Computação I, se usou uma linguagem de máquina para programar um robô capaz de desenhar gráficos de tortuga. A observação da experiência permitiu constatar, por um lado, um impacto positivo na motivação dos estudantes e, por outro lado, o aplicativo de diversas concorrências.

Palavras Chave: Inovação educacional - robótica - arquitetura - computador - linguagem - programação

(*) Matías Sebastián Ávalos. Técnico Superior en Informática Aplicada (UTN-INSPT) y Técnico en Electrónica (E.T. N°19 D.E. I-GCABA).

(**) Diego Pablo Corsi. Magíster en Ingeniería en Sistemas de Información y Licenciado en Tecnología Educativa (UTN-FRBA). Profesor en Disciplinas Industriales, especialidad Informática Aplicada (UTN-INSPT). 


Robótica Educativa aplicada al Aprendizaje de los Fundamentos de la Arquitectura de Computadoras y de la Programación en Lenguaje de Máquina fue publicado de la página 93 a página96 en Reflexión Académica en Diseño y Comunicación. Nº XL

ver detalle e índice del libro