Conference PaperPDF Available

Motivando al alumno de ingeniería mediante la plataforma Raspberry Pi

Authors:

Abstract and Figures

En este artículo exponemos cómo hemos aprovechado el interés que los alumnos demuestran por la plataforma Raspberry Pi para facilitar el estudio de conceptos y técnicas impartidas en varias asignaturas de Ingeniería. Además, proponemos usar esta misma plataforma en distintos cursos de forma que se mejore la coordinación vertical en asignaturas de primero a cuarto del Grado en Ingeniería de Computadores de la Universidad de Málaga. El detonante para realizar esta experiencia fue el Proyecto de Innovación Educativa PIE13-082 de la misma universidad. Gracias a este proyecto, se impulsó la renovación de los temarios teóricos y guiones de prácticas de distintas asignaturas lo cual ha resultado en un aumento del interés y en un mayor grado de satisfacción de los alumnos.
Placa RPi con puerto GPIO (izq.). Placa de expansión a conectar en GPIO (der.). La primera mitad del manual está orientada a facilitar el aprendizaje del lenguaje ensamblador para ARM y encaja con las prácticas de la asignatura de " Tecnología de Computadores ". La segunda mitad, aborda aspectos de control de la Entrada/Salida (E/S) de la RPi, como son el GPIO y las interrupciones y está más orientada a los contenidos que se imparten en " Estructura de Computadores ". En cuanto al TFG, se desarrolló un planificador de procesos con política Round Robin para RPi, lo que deja abonado el proceso de elaboración de prácticas de laboratorio adicionales para las asignaturas " Sistemas Operativos " y " Diseño de Sistemas Operativos ". Una vez comprobado con este trabajo previo la viabilidad de la RPi como plataforma común de prácticas para un gran número de asignaturas, a lo largo de 2015 y 2016 se compraron más RPi. En la actualidad el departamento cuenta con 172 unidades en total, en parte gracias al reducido precio de este computador. Con estos precedentes y el material necesario para implantar la RPi como plataforma de prácticas en la mayoría de las asignaturas que imparte el departamento de Arquitectura de Computadores, se han desarrollado un gran número de prácticas y de material docente para las siguientes asignaturas, tal y como describimos en la siguiente sección. IV. ASIGNATURAS IMPLICADAS A. Tecnología de Computadores, TC (1º) Tecnología de Computadores es una asignatura obligatoria que se imparte en primer curso de las titulaciones de Grado en Ingeniería Informática, Grado en Ingeniería del Software y Grado en Ingeniería de Computadores. Existen 6 grupos en total de esta asignatura, uno de ellos impartido en inglés. En esta asignatura, partiendo de los conocimientos básicos de
… 
Content may be subject to copyright.
Resumen En este artículo exponemos cómo hemos
aprovechado el interés que los alumnos demuestran por la
plataforma Raspberry Pi para facilitar el estudio de
conceptos y técnicas impartidas en varias asignaturas de
Ingeniería. Además, proponemos usar esta misma
plataforma en distintos cursos de forma que se mejore la
coordinación vertical en asignaturas de primero a cuarto
del Grado en Ingeniería de Computadores de la
Universidad de Málaga. El detonante para realizar esta
experiencia fue el Proyecto de Innovación Educativa
PIE13-082 de la misma universidad. Gracias a este
proyecto, se impulsó la renovación de los temarios teóricos
y guiones de prácticas de distintas asignaturas lo cual ha
resultado en un aumento del interés y en un mayor grado
de satisfacción de los alumnos.
Palabras claveRaspberry Pi, motivación, coordinación
vertical, renovación de temarios.
I. INTRODUCCIÓN
UCHOS alumnos de ingeniería perciben que las
asignaturas de la carrera no son atractivas y están
alejadas de su realidad cotidiana. Sin embargo, a la
mayoría de estos alumnos les atrae el minicomputador
Raspberry Pi [1]. En este artículo explicamos cómo
hemos aprovechado el interés que los alumnos ya
demuestran por esta plataforma para ponerlo a trabajar
en pro de nuestros objetivos docentes: facilitar el estudio
de conceptos y técnicas impartidas en varias asignaturas
del Departamento de Arquitectura de Computadores de
la Universidad de Málaga (UMA). Otro objetivo que se
suma al anterior es el de usar la misma plataforma
Raspberry Pi (RPi) para los laboratorios de varias
asignaturas de distintos cursos (de 1º a 4º), de forma que
se mejore la coordinación vertical. Para la consecución
de estos objetivos se han elaborado nuevos guiones de
prácticas basados en la RPi para varias asignaturas del
departamento.
El uso en la docencia de tecnologías familiares al
alumno con objeto de incrementar el atractivo de las
asignaturas no es algo nuevo. Por ejemplo, en [2] los
autores plantean enseñar Sistemas Operativos, pero no
usando Windows o Linux como plataforma para las
prácticas, sino Android (el Sistema Operativo, SO,
usado en casi el 90% de los Smartphones [3]). Dado que
las nuevas generaciones de estudiantes se interesan más
por un Smartphone que por un PC, esta estrategia
conduce a contenidos más motivadores.
Tam bién e n [4] se propone potenciar el interés de los
alumnos del Grado de Informática en el análisis de los
componentes hardware y de su organización para
construir un computador moderno mediante el uso de
placas basadas en la arquitectura ARM como RPi y
Arduino.
La RPi es también la plataforma elegida para motivar
la enseñanza de ensamblador en procesadores ARM en
[5]. Los autores corroboran en ese trabajo que los
alumnos encuentran que el aprendizaje del lenguaje
ensamblador es bastante aburrido y tedioso, pero que
gracias a la RPi los contenidos se tornan más
interesantes y divertidos. Sin embargo, este reciente
estudio solo aprovecha la RPi para enseñar una única
materia, mientras que nosotros pretendemos que el
alumno utilice la RPi como la plataforma de referencia
para integrar los distintos conceptos que se van a
adquirir en diferentes asignaturas de cursos
consecutivos.
En esta última línea, en [6] y [7] el objetivo es mejorar
la coordinación vertical integrando los distintos
conceptos aprendidos en diferentes asignaturas.
En todos estos trabajos mencionados se utilizan
distintas tecnologías familiares a los alumnos, pero hasta
donde conocemos, ningún trabajo previo considera
central el objetivo de la coordinación vertical entre
distintas asignaturas al tiempo que se reutiliza la misma
plataforma hardware para motivar el aprendizaje de las
distintas materias que aparecen en el currículo del Grado
de Computadores.
La coordinación docente vertical es importante para
poder desarrollar adecuadamente las competencias de un
título y puede contribuir a potenciar el trabajo
colaborativo, además de prevenir una formación donde,
por ejemplo, se produzcan solapamientos o repeticiones
de materia en distintas asignaturas [8], o se fragmente el
conocimiento de forma artificial [9]. En [10] se potencia
la coordinación vertical para conseguir, entre otros
objetivos, que se integren en un solo proyecto, sin
solape, los conceptos aprendidos en distintas materias.
De forma similar, en [11] se ejercitan las habilidades
necesarias para trabajar en grupo mediante proyectos a
lo largo de los tres primeros cursos.
Resumiendo, nuestra propuesta destaca sobre los
trabajos recientes que acabamos de mencionar en que su
finalidad última es triple: i) motivar los contenidos
teóricos de las asignaturas con prácticas atractivas
basadas en RPi; ii) renovar los laboratorios y los guiones
de prácticas gracias a una plataforma muy asequible y
con una arquitectura de referencia en la era Post-PC; y
iii) coordinar verticalmente las asignaturas, de 1º a 4º, de
forma que el alumno construya cada año un proyecto
sobre la base aprendida en el curso anterior.
II. CONTEXTO DE LA EXPERIENCIA
El minicomputador Raspberry Pi [1], o RPi, es una
placa del tamaño de una tarjeta de crédito y un precio de
alrededor de 30. El objetivo principal de sus creadores,
la Fundación Raspberry Pi [12], era promover la
enseñanza de conceptos básicos de informática en los
M
Motivando al alumno de ingeniería mediante la
plataforma Raspberry Pi
Rafael Asenjo, Sonia González, Francisco Corbera, Ángeles Navarro, Andrés
Rodríguez, Julio Villalba y Eligius Hendrix
Jornadas SARTECO 2017 313
colegios e institutos. La plataforma RPi tiene una gran
comunidad de usuarios activos, lo que redunda en una
gran cantidad de documentación (principalmente en
inglés), foros, software libre, aplicaciones, así como
ideas de proyectos muy atractivos para los así llamados
“makers”.
Es patente que, en los alumnos de ingeniería, la
plataforma RPi despierta gran interés. Por ello, en el
marco del Proyecto de Innovación Educativa de la UMA
PIE13-082, se comenzó una experiencia cuyo objetivo
era aprovecharse de ese interés para facilitar el
aprendizaje de conceptos y materias impartidas por
profesores del Departamento de Arquitectura de
Computadores. En el camino, aprovechamos para dar
homogeneidad y coordinación vertical entre las prácticas
de asignaturas de distintos cursos. Por ejemplo, para el
Grado en Ingeniería de Computadores, se hace que un
alumno use la RPi para programación en ensamblador
en “Tecnología de Computadores” de 1º. A partir de esa
base, en se abordan prácticas más avanzadas de
Entrada/Salida en la asignatura “Estructura de
Computadores”. Al año siguiente, en 3º, se vuelve a usar
la misma plataforma para ciertas prácticas de las
asignaturas de “Diseño de Sistemas Operativos” y
“Arquitectura de Computadores”. Por último, en 4º, los
alumnos implementarán y programarán un sistema
paralelo basado en 4 RPi conectadas en red en la
asignatura “Arquitecturas Paralelas”. Anteriormente, en
cada una de estas asignaturas se usaban herramientas
muy dispares por lo que cada año el alumno se
enfrentaba a un reto nuevo y desconectado de los que
superó el año anterior.
Por otro lado, aprovechando que la comunidad de
desarrolladores y usuarios de RPi es principalmente
anglo-parlante, en varias de las asignaturas
contempladas en esta experiencia se favoreció el uso del
idioma inglés. Actualmente existen infinidad de
manuales y tutoriales en Internet para usar la RPi como
herramienta docente así que es de sentido común
aprovechar ese material y redirigir directamente a los
alumnos a esas fuentes cuando sea conveniente.
Además, en algunas asignaturas (por ejemplo, en uno de
los grupos de “Tecnología de Computadores” y de
“Estructura de Computadores”) las clases de laboratorio
se imparten también en ese mismo idioma.
Por último, sabedores de la importancia del trabajo en
grupo en las prácticas de asignaturas de Ingeniería, se
propuso el uso de herramientas y aplicaciones web que
permiten evaluar la participación de cada alumno dentro
del grupo. En casi todas las asignaturas contempladas en
esta experiencia, los alumnos deben desarrollar
aplicaciones software y deben hacerlo de forma
colaborativa. Pues bien, herramientas en la web como
GitHub o BitBucket simplifican la gestión de versiones
y la colaboración durante el desarrollo de aplicaciones.
Tan to es así, q ue muc has em presa s que d emand an
desarrolladores software, en los procesos de selección de
personal, solicitan a los candidatos un portafolio con los
proyectos alojados en GitHub o BitBucket en los que
han participado. Por tanto, usar estas herramientas en la
carrera presenta dos ventajas: i) para el alumno, que
ganará enteros cuando a la hora de entrar en el mercado
laboral se enfrente a un departamento de recursos
humanos en un proceso de selección; y ii) para los
profesores, ya que estas herramientas, de forma similar a
las Wiki’s, permiten identificar el grado de colaboración
y de esfuerzo que invierte cada alumno al trabajo que se
realiza en grupo. Con este último punto, pretendemos
que, dentro del grupo de prácticas, la distribución del
trabajo esté realmente balanceada, o en caso contrario el
profesor lo detectará inmediatamente en la aplicación y
tomará medidas para corregirlo.
Las Tablas I y II resumen las características de las
asignaturas implicadas en este trabajo, las cuales
pertenecen a las escuelas de Ingeniería Informática, de
Ingeniería de Telecomunicación y de Ingeniería
Industrial. En la Tabla I se listan las asignaturas que ya
implementan prácticas basadas en RPi y para las que el
impacto de la experiencia se ha evaluado mediante
encuestas a los estudiantes. La Tabla II contempla
aquellas asignaturas para las que tenemos ideados los
contenidos prácticos, se pueden haber hecho prácticas y
talleres, pero en las que los resultados de la experiencia
no han sido aún evaluados.
TABLA I
ASIGNATURAS IMPLICADAS CON IMPLANTACIÓN EVALUADA.
Asignatura
Grado en
Ingeniería
Curso
Tec no lo gí a de
Comp.
Computadores,
Software, Inf.
1
Estructura de
Comp.
Computadores,
Software, Inf.
2
Diseño de Sist.
Operativos
Computadores
3
Arquitecturas
Emergentes
Sistemas de
Telecomunic ación
4
Informática
Industrial
Tec nolo gías
Industriales
4
TABLA II
ASIGNATURAS IMPLICADAS CON EVALUACIÓN PENDIENTE.
Asignatura
Grado en Ingeniería
Curso
Sistemas
Operativos
Computadores,
Software, Inf.
2
Arquitect.
de Comp.
Computadores
4
Arquitect.
Paralelas
Computadores
4
Fund. de
Comp.
Tec nolo gías
Industriales
1
Sist. Op. en
Tiempo
Real
Tec nolo gías
Industriales
4
III. DESCRIPCIÓN DE LA EXPERIENCIA
Aunque en las ramas de ingeniería no es extraño
encontrar profesores convencidos de que “el alumno
debe venir motivado de casa”, nosotros creemos por el
contrario que es clave que el profesor haga todo lo
posible por hacer atractiva su asignatura. Incluso para
alumnos de nivel universitario, impregnar las
asignaturas de cierto contenido lúdico es muy
beneficioso a la hora de conseguir mejores tasas de éxito
314 Jornadas SARTECO 2017
académico. Pues bien, la RPi es para un estudiante de
ingeniería algo parecido a un juguete, aspecto que los
profesores no podemos dejar de aprovechar. También el
hecho de que la RPi esté basada en el mismo tipo de
procesador ARM que incorporan todos los móviles del
mercado, hace que esta plataforma sea atractiva a las
nuevas generaciones que han crecido con un
Smartphone desde edades muy tempranas.
Sin embargo, los contenidos teóricos y prácticos de
gran parte de las asignaturas impartidas en el
Departamento de Arquitectura de Computadores de la
UMA, han girado en los últimos años en torno a otra
arquitectura más tradicional: los procesadores RISC de
la familia MIPS. Esto no sólo es así en nuestro
departamento, sino también en la mayoría de
departamentos de “Computer Science” de Universidades
líderes en el mundo. La razón principal es que el libro
de referencia [13] usa un MIPS como caso de estudio.
Nuestro argumento es que el procesador MIPS no es
familiar ni atractivo para los alumnos. Los móviles no
llevan MIPS, ni la RPi, ni la mayoría de dispositivos
móviles y de consumo que los alumnos ven como
tecnología cercana y de uso cotidiano (televisores,
electrónica de consumo, etc). Por el contrario, todos
estos dispositivos se basan en procesadores ARM y la
plataforma RPi es, desde nuestro punto de vista, ideal
para enseñar cómo están diseñados estos procesadores y
cómo sacarles el máximo provecho. Además, los autores
de libros de Arquitectura de Computadores, conscientes
de esta convergencia hacia los procesadores ARM están
cambiando el foco de los textos educativos,
reorientándolos hacia estos nuevos procesadores [14],
[15].
El Proyecto de Innovación Educativa PIE13-082
concedido por la UMA, sirvió como detonante para
renovar gran parte de las asignaturas y laboratorios de
nuestro departamento. Primero permitió la compra de 20
RPi a cargo del presupuesto concedido, y segundo sirvió
de acicate para sacar a los profesores implicados, de la
inercia de asignaturas asentadas y de larga trayectoria.
Hay que reconocer que renovar los temarios teóricos y
guiones de prácticas de tantas asignaturas no es fácil,
pero, como veremos, la satisfacción de los alumnos que
ahora usan la RPi como plataforma común para el
desarrollo de las prácticas ha merecido la pena.
Los recursos utilizados por más de 15 profesores
fueron principalmente la Sala de Coordinación del PIE
en el Campus Virtual de la UMA, así como una carpeta
compartida en Google Drive. También contamos con la
ayuda de dos alumnos que realizaron un Proyecto Fin de
Carrera (PFC) y un Trabajo Fin de Grado (TFG). El PFC
tuvo como objetivo portar un antiguo manual de
prácticas en ensamblador para PC (basado en procesador
80x86 y con Sistema Operativo MS-DOS) a la
arquitectura ARM de la RPi. El antiguo manual
abordaba contenidos para las asignaturas de “Tecnología
de Computadores” y “Estructura de Computadores” del
plan a extinguir de Ingeniería Informática. Sin embargo,
estas prácticas quedaron en desuso debido a las
dificultades técnicas para mantener MS-DOS en los PCs
de los laboratorios y a que no son factibles en un SO con
permisos de usuario, como Windows XP o Windows 7.
Portar las prácticas a la RPi eliminaba los problemas de
seguridad y administración de los PCs de laboratorio, al
tiempo que actualizaba los contenidos para enseñar la
arquitectura ARM. Como parte de este PFC se desarrolló
una placa de expansión que se puede conectar a la RPi
para visualizar el estado de los pines del GPIO (General
Purpose Input/Output) mediante LEDs, provocar
interrupciones mediante pulsadores o generar sonido en
un zumbador (ver Fig. 1). La memoria de este PFC fue
posteriormente completada y extendida ligeramente para
convertirse en un manual [16]. Este manual se puso a
disposición de la comunidad gracias a la plataforma
RIUMA de la UMA, manual que algunos profesores de
la Universidad Pablo de Olavide están usando en una
asignatura de “Fundamentos de Computadores”.
Fig. 1. Placa RPi con puerto GPIO (izq.). Placa de expansión a
conectar en GPIO (der.).
La primera mitad del manual está orientada a facilitar
el aprendizaje del lenguaje ensamblador para ARM y
encaja con las prácticas de la asignatura de “Tecnología
de Computadores”. La segunda mitad, aborda aspectos
de control de la Entrada/Salida (E/S) de la RPi, como
son el GPIO y las interrupciones y está más orientada a
los contenidos que se imparten en “Estructura de
Computadores”.
En cuanto al TFG, se desarrolló un planificador de
procesos con política Round Robin para RPi, lo que deja
abonado el proceso de elaboración de prácticas de
laboratorio adicionales para las asignaturas “Sistemas
Operativos” y “Diseño de Sistemas Operativos”.
Una vez comprobado con este trabajo previo la
viabilidad de la RPi como plataforma común de
prácticas para un gran número de asignaturas, a lo largo
de 2015 y 2016 se compraron más RPi. En la actualidad
el departamento cuenta con 172 unidades en total, en
parte gracias al reducido precio de este computador.
Con estos precedentes y el material necesario para
implantar la RPi como plataforma de prácticas en la
mayoría de las asignaturas que imparte el departamento
de Arquitectura de Computadores, se han desarrollado
un gran número de prácticas y de material docente para
las siguientes asignaturas, tal y como describimos en la
siguiente sección.
IV. ASIGNATURAS IMPLICADAS
A. Tecnología de Computadores, TC (1º)
Tec nolo gía de Computadores es una asignatura
obligatoria que se imparte en primer curso de las
titulaciones de Grado en Ingeniería Informática, Grado
en Ingeniería del Software y Grado en Ingeniería de
Computadores. Existen 6 grupos en total de esta
asignatura, uno de ellos impartido en inglés. En esta
asignatura, partiendo de los conocimientos básicos de
Jornadas SARTECO 2017 315
electrónica digital adquiridos por el alumno en
asignaturas del primer semestre del primer curso, se
sientan las bases de la formación del alumno en el área
de Arquitectura y Tecnología de Computadores,
impartiendo los conceptos fundamentales para la
comprensión del funcionamiento y diseño de un
procesador básico, así como su programación al más
bajo nivel. De entre las competencias generales
contempladas en esta asignatura, encontramos una única
competencia específica que establece como objetivo el
“conocimiento de la estructura, organización,
funcionamiento e interconexión de los sistemas
informáticos y los fundamentos de su programación”.
De entre los resultados de aprendizaje enfocados a
conseguir esta competencia, el relacionado con el uso de
la plataforma RPi en esta asignatura es: “el alumno
deberá ser capaz de realizar programas utilizando el
lenguaje ensamblador de una máquina específica”.
1) Metodología
Para que el alumno alcance los resultados de
aprendizaje especificados, éste debe desarrollar una serie
de ejercicios prácticos de programación en ensamblador
para resolver una serie de problemas concretos.
La programación en ensamblador es una tarea un poco
ardua y al ser esta asignatura del primer curso de los
Grados de Ingeniería Informática, existe un problema
grande de motivación por parte del alumnado a la hora
de enfrentar este tipo de prácticas. Históricamente la
programación en ensamblador se realizaba utilizando el
repertorio de instrucciones de un procesador tipo MIPS,
que es el procesador utilizado en el libro de referencia
por excelencia de estos cursos [13]. Para ello se utilizaba
un software que simulaba dicho procesador sobre un PC
con Windows. Esto provocaba que el alumno viera de
una manera mucho más abstracta y alejada de la realidad
este tipo de prácticas.
Con el objetivo de intentar aumentar la motivación del
alumno a la hora de realizar las prácticas de
programación en ensamblador, en el curso 2014-2015 se
impartió un taller de programación en ensamblador
sobre la plataforma hardware RPi. Las prácticas se
desarrollaron sobre un hardware real y no sobre un
simulador, de manera que los alumnos interactuaron
directamente con un dispositivo con el que se puede
generar sonidos, encender LEDs o accionar pulsadores.
Esta interactividad con un sistema real resultó
ciertamente incentivadora.
Una vez terminado el taller se sondeó la opinión del
alumnado sobre la realización de las prácticas en un
dispositivo real (en vez de sobre un simulador). La
respuesta del alumnado fue bastante buena, como se
puede apreciar en los resultados que mostramos en la
siguiente sección.
En el curso académico 2015-2016, el equipo docente
de la asignatura decidió incorporar de forma obligatoria,
un par de prácticas de programación en ensamblador
sobre la plataforma RPi, sin abandonar completamente
las prácticas de programación basada en un simulador de
procesador MIPS.
Se les proporcionó nueve vídeos donde se mostraba de
forma visual y sonora el resultado que debían conseguir
para cada práctica. Además, se le dejaba libertad al
alumno para que eligiera al menos dos prácticas de las
nueve presentadas. La dificultad de las distintas
prácticas no era la misma, por lo que la puntuación
asignada a cada una era relativa a dicha dificultad.
Muchos de los alumnos realizaron bastantes más
prácticas de las exigidas, e incluso hicieron variaciones
sobre las que se les proponían. Entendemos que esto es
indicativo del alto grado de motivación que se alcanzó
en buena parte del alumnado.
Tras la finalización de las pcticas con las RPi, de
nuevo se les pasó a los alumnos una encuesta para que
opinaran sobre las mismas, teniendo en cuenta que
también habían realizado prácticas en la plataforma
antigua. De nuevo el grado de satisfacción de los
alumnos con estas prácticas frente a las de la plataforma
antigua es muy alto.
Una vez analizadas las ventajas de la nueva plataforma
para realizar las prácticas de programación en
ensamblador de la asignatura, el equipo docente de la
asignatura de Tecnología de Computadores decidió
cambiar las prácticas de programación en ensamblador
del curso académico 2016-2017 y pasar a realizarlas
completamente con la RPi. El tipo de prácticas es muy
similar al realizado con la plataforma MIPS, pero
cambiando el enfoque al uso de elementos hardware
disponibles en la nueva plataforma (LEDs, altavoz y
pulsadores, mucho más llamativos para el alumno), con
lo que la complejidad de las prácticas es básicamente la
misma. Aunque entendemos que una de las desventajas
del uso de un dispositivo físico frente a un simulador a
la hora de realizar las prácticas es la posibilidad de
realizarlas fuera del horario de laboratorio asignado a
cada grupo, también pensamos que este problema no es
muy grave al ser una plataforma bastante asequible para
el alumno, además de que consideramos que el tiempo
de laboratorio asignado para la realización de las
prácticas es suficiente para que el alumno las termine.
B. Estructura de Computadores, EC (2º)
Estructura de Computadores es una asignatura
obligatoria que se imparte en segundo curso de las
titulaciones de Grado en Ingeniería Informática, Grado
en Ingeniería del Software y Grado en Ingeniería de
Computadores. Existen 5 grupos en total de esta
asignatura, uno de ellos impartido en inglés
Esta asignatura parte de los conocimientos básicos
impartidos en la asignatura de Tecnología de
Computadores, de primer curso, que se ha mencionado
anteriormente. En Estructura de Computadores se
profundiza en el estudio del subsistema de
Entrada/Salida, cuyo diseño y programación se ilustra a
través de las prácticas con RPi que se proponen. Tras la
realización de las prácticas los alumnos serán capaces de
entender el proceso de arranque básico de un procesador,
entender los distintos métodos de comunicación de los
periféricos con un procesador, así como programar
rutinas de tratamiento de interrupción o manejadores en
bare-metal(sin intervencn del SO). Los
conocimientos y competencias adquiridos en esta
asignatura serán fundamentales para las asignaturas de
Sistemas Operativos y Arquitectura de
Computadoresque forman parte de la titulación.
316 Jornadas SARTECO 2017
1) Metodología
Las prácticas realizadas en EC se organizan en dos
tipos de sesiones: 6 sesiones de prácticas guiadas y 6
sesiones de práctica libre.
En la primera sesión de prácticas guiadas se les explica
el entorno de desarrollo, el sistema de arranque del
procesador ARM de la RPi y cómo se compila y carga
un programa en la placa. En las siguientes sesiones, a
través de pequeños ejercicios prácticos guiados, se les
ilustra cómo funcionan y se programan los distintos
métodos de Entrada/Salida en la RPi y cómo interactuar
con los LEDs, el altavoz y los pulsadores de la placa de
expansión conectada a la RPi.
Tras las sesiones de prácticas guiadas, se propone al
estudiante la realización de una práctica final que
consiste en la reproducción de una melodía a través del
altavoz, acompañada de una función de ecualización
(visible a través de los LEDs de la placa de extensión)
así como la manipulación de la melodía y ecualizador a
través de los pulsadores. Para el desarrollo de esta
práctica final los estudiantes disponen de 6 sesiones de
práctica libre, durante las cuáles pueden trabajar en
parejas. Los estudiantes afrontan esta fase con bastante
entusiasmo, porque la práctica es cómo un juego y
pueden colaborar entre ellos para ayudarse en el
desarrollo y depuración de cada una de las
funcionalidades de la práctica final. Al finalizar estas
sesiones de práctica libre, cada estudiante entrega su
práctica final y concierta una entrevista con el
profesor/a, que evalúa el nivel de adquisición de los
resultados de aprendizaje previstos con el desarrollo de
estas prácticas.
C. Diseño de Sistemas Operativos, DSO (3º)
Esta es una asignatura obligatoria de tercer curso del
Grado de Ingeniería de Computadores (un solo grupo).
Los alumnos de 3º vuelven a encontrarse con la RPi pero
ahora como plataforma para trabajar a bajo nivel dentro
del SO Linux (Raspbian). En esta asignatura se pretende
profundizar en el diseño de los sistemas operativos, para
los que ya se han introducido los conceptos
fundamentales en la asignatura de “Estructura de
Computadores”. Desde un enfoque práctico se estudia
cómo se diseñan e implementan los mecanismos y
políticas que gestionan, administran y facilitan el uso de
los recursos hardware de un computador (procesador,
memoria, Entrada/Salida, sistemas de fichero, etc.),
función principal del SO.
De entre las competencias específicas que debe
adquirir el alumno se encuentran las de “capacidad de
diseñar y construir sistemas digitales, incluyendo
computadores, sistemas basados en microprocesador y
sistemas de comunicaciones” y la “capacidad de diseñar
e implementar software de sistema y de
comunicaciones”. En ambos casos, la plataforma RPi se
ha mostrado como una herramienta valiosa para ejercitar
y adquirir estas capacidades. Al usarla a lo largo de toda
la asignatura, se convierte en clave para obtener los
resultados de aprendizaje planteados en la asignatura.
1) Metodología
Se realizaron varias prácticas y proyectos que
supusieron la mayor parte de la asignatura DSO.
Cada grupo de alumnos fue responsable de su placa de
desarrollo (RPi) y pudo, de forma autónoma,
recomponerla después de un resultado catastrófico,
realizar la depuración o análisis post-mortem necesarios
y reconducir su diseño para resolver las contingencias.
La facilidad de reinstalación del sistema, simplemente
volviendo a escribir el SO en una tarjeta de memoria y
restaurando su trabajo en curso desde un servidor de
control de versiones Git, permitió que en unos pocos
minutos el grupo estuviera de nuevo probando las
mejoras y soluciones diseñadas. De esta forma, gracias a
la RPi, el alumno no tiene miedo a equivocarse en el
diseño, o errar en la implementación, hasta el punto de
dejar el sistema inoperativo (irónico, si recordamos el
título de la asignatura), ya que la recuperación es
indolora. En un PC del laboratorio los alumnos no
pueden hacer este tipo de procedimientos delicados que
requieren acceso total al sistema (privilegios de
administración), puesto que hay muchas posibilidades de
dejar el sistema inutilizable con los consiguientes costes
asociados a volver a configurar un PC de laboratorio.
Los alumnos más aventajados también tuvieron tiempo
de desarrollar un driver para la lectura del sensor de
temperatura y humedad DHT11, un reto motivador,
puesto que este dispositivo no estaba soportado por el
sistema Linux en la RPi. Así que se convirtió en una
contribución real de nuestros estudiantes a la comunidad
de software libre. Este es un desafío algo más
importante, porque, aunque el protocolo de
comunicación serie con el sensor no es demasiado
complejo, debe realizarse de forma eficiente y segura
para conseguir lecturas válidas de forma estable.
Tam bién desta camos que en est a asign atur a es donde
por ahora ha tenido mayor sentido usar herramientas de
control de versiones. Estas herramientas de trabajo en
grupo, permiten la programación colaborativa de
proyectos por una comunidad de desarrolladores. En
particular, se creó una cuenta en BitBucket gestionada
por el profesor, que usaron los alumnos durante las
prácticas para descargar los materiales, ejemplos y
proyectos de partida. A su vez, los alumnos crearon sus
propias cuentas en este servidor donde fueron alojando
sus proyectos. Cada uno de los proyectos desarrollados
tenía como contribuidores a los alumnos que formaban
el grupo de trabajo, pero también incluían al profesor, de
forma que se podía seguir el desarrollo de los proyectos
y comprobar el nivel de implicación y actividad de cada
componente del grupo de trabajo.
D. Arquitecturas Emergentes, AE (4º)
Esta es una asignatura optativa de cuarto curso del
Grado de Sistemas de Telecomunicación. En esta
asignatura se imparten los conceptos relacionados con
arquitecturas avanzadas y emergentes, principalmente
relacionadas con las arquitecturas usadas en dispositivos
móviles (teléfonos, tablets), sistemas multicore,
multiprocesador, procesadores gráficos y arquitecturas
heterogéneas. De entre las competencias que debe
adquirir el alumno se encuentra la de “entender y
explotar el hardware de los computadores y dispositivos
móviles”.
1) Metodología
La RPi se usó en 2 de las 5 prácticas de la asignatura.
Estas dos prácticas se preceden de una explicación de
tipo magistral sobre los modos de funcionamiento de la
RPi con SO y en bare-metal.
Jornadas SARTECO 2017 317
La primera consiste en implementar en ensamblador
de ARM algunos códigos en C de procesado de arrays,
así como saber enlazar código C y código ensamblador,
donde este último contenga una versión optimizada a
bajo nivel. En dos horas de laboratorio, los alumnos
aprenden a conectarse a una RPi con SO Raspbian y a
editar, compilar y ejecutar programas ensamblador sobre
esa plataforma. Se continúa con un tutorial guiado en el
que se enseña cómo hacer que se enciendan/apaguen los
leds de la placa de expansión, leer el estado de los
botones o generar un sonido, todo ello con soporte de la
librería WiringPi. Por último, se les asigna un problema
para resolver en el laboratorio (escribir un código que
encuentra el valor máximo de un vector) y los ejercicios
de procesado de vectores y matrices para resolver de
forma no presencial.
La segunda práctica también aborda la programación
en ensamblador, pero ahora en modo bare-metal (sin
SO). Esta práctica consume 3 horas de laboratorio y
comienza con un tutorial guiado en el que se muestra
cómo generar un ejecutable bare-metal mediante
compilación cruzada, cuál es el proceso de arranque de
la Raspberry Pi y cómo se controlan los leds, el
temporizador y el zumbador de la RPi cuando no
disponemos del soporte del SO ni de la librería
WiringPi. En tiempo de laboratorio los alumnos tienen
que resolver un ejercicio en el que deben conseguir que
la RPi genere un sonido a 440Hz (nota “La” de la escala
musical). Como problema a resolver de forma
autónoma, no presencial, a los alumnos se les pide
implementar un programa ensamblador que reproduce
por el altavoz de la placa de expansión el tema “Marcha
Imperial” de la BSO de “Star Wars”, al tiempo que los
LEDs siguen el ritmo de la música.
E. Informática Industrial, II (4º)
Esta asignatura es optativa en cuarto curso del Grado
de Ingeniería de Organización Industrial. La asignatura
aborda la Informática Industrial y las Comunicaciones
Industriales desde un punto de vista aplicado.
La competencia específica fundamental de esta
asignatura es la de “Adquirir conocimientos aplicados de
informática industrial y comunicacionesy para ello se
usa como elemento central la RPi. Esta plataforma nos
permite una interconexión fácil con sensores y
actuadores que imitarán a un entorno industrial.
1) Metodología
Tod a la par te prá ctic a de est a asignatura (50% de las
horas) se ha impartido utilizando la RPi. Se usó la RPi
como plataforma de programación en ejercicios de
control y automatización, en los que los alumnos
jugaron conectando sensores de temperatura, módulos
de radio y de control domótico.
Mediante los GPIOs (entradas/salidas de propósito
general) que equipa la RPi y que soportan también
diferentes buses de comunicación, se conectaron desde
sensores de temperatura hasta módulos de radio de bajo
consumo. El uso de la placa RPi permitió la
programación e interacción de los alumnos con un
sistema completo de control, realizando prácticas de
conexión en red y control distribuido.
V. EVA L U A C I Ó N Y RESULTADOS
En esta sección presentamos los métodos de
evaluación y sus resultados para cada una de las
asignaturas presentadas en la sección anterior.
A. Tecnología de Computadores
La evaluación de la experiencia en TC se realizó a
base de encuestas que contestaron los alumnos que
realizaron el taller en 2014-2015 y los alumnos que
tuvieron que hacer las dos prácticas obligatorias en
2015-2016. De los alumnos que realizaron el taller y
contestaron la encuesta, tan solo un 5% poseían ya una
Raspberry, pero sobre el 81% contestó que se plantearía
la compra de una para realizar las prácticas en casa. Esto
se ve reflejado en la encuesta del curso 2015-2016
donde el porcentaje de alumnos que poseían una
Raspberry ascendió al 28%, y de nuevo, sobre el 82%
considerarían la posibilidad de adquirir una.
Consideramos que este aumento puede ser debido, en
parte, a que el alumno ya está percibiendo que varias de
las asignaturas de su currículum van a utilizar esta
plataforma como base para realizar las prácticas (cerca
del 90% de los alumnos consideraban muy interesante
que se utilice la misma plataforma en distintas
asignaturas). Además, se le suma su bajo precio y su
versatilidad lo que anima a la compra por parte del
alumno. Otro dato a destacar es que a más del 94% de
los alumnos les parecieron muy interesantes estas
prácticas, cuestión que ha sido una de las que hemos
tenido en cuenta a la hora de decidir cambiar todas las
prácticas en el curso 2016-2017 y basarlas en la RPi.
Muchos de los comentarios en un campo de texto libre
de las encuestas van en el sentido de que a los alumnos
les hubiera gustado tener más prácticas con la RPi.
B. Estructura de Computadores
Se realizó una encuesta de satisfacción de las prácticas
basadas en RPi entre los estudiantes de todos los grupos
de esta asignatura, EC, al final del primer semestre del
curso 2015-2016. Uno de los grupos actuó como grupo
de control: en este caso, estos alumnos realizaron las
prácticas utilizando una plataforma de desarrollo basada
en una FPGA, aunque vieron algunos ejercicios
adicionales usando RPi o asistieron a sesiones de
laboratorio de otros grupos que utilizaban RPi. En total
contestaron la encuesta 71 estudiantes, mientras que en
el grupo de control recogimos 21 respuestas.
De los 71 estudiantes que realizaron las prácticas en la
plataforma RPi y respondieron a la encuesta, el 86%
consideró las prácticas como interesantes o muy
interesantes. De hecho, un 75% cree que con estas
prácticas se ilustra bien o muy bien los conceptos de
Entrada/Salida que se estudian en esta parte de la
asignatura y que son uno de los objetivos fundamentales
de estas prácticas. Un 47% encontró fácil o muy fácil
adaptarse al nuevo lenguaje de programación basado en
la arquitectura ARM, que es el que se requiere en la RPi.
Un 80% también valora muy positivamente que esta
plataforma se utilice en las prácticas de otras asignaturas
del Grado. Un 33% ya tienen una RPi, y de los que no la
tienen un 76% estaría dispuestos a comprársela si se
utiliza en otros laboratorios del Grado. En general los
alumnos valoraron que se tratara de un sistema real, lo
318 Jornadas SARTECO 2017
que les permite una inmediata transferencia de
conocimiento al mundo profesional. También
comentaron que les pareció poco el tiempo dedicado a
las prácticas, especialmente el número de horas
dedicadas a las sesiones de práctica libre, aspecto que se
corrigió en el curso 2016-2017.
En cuanto a los 21 alumnos que participaron en el
grupo de control, se obtuvieron porcentajes similares
respecto a la percepción del interés de las prácticas y de
cómo se ilustran los conceptos que son objetivo de la
asignatura. Curiosamente en este grupo, los alumnos
parecen más dispuestos a aprender otros lenguajes de
programación, no sólo el que necesitan para programar
la RPi, sino también otro tipo de plataformas.
Recordemos que estos alumnos estuvieron expuestos a
varios lenguajes de programación (el esfuerzo fue algo
mayor), pero a cambio fueron conscientes del valor
añadido que supuso realizar prácticas en varias
plataformas y lo valoraron muy positivamente.
C. Diseño de Sistemas Operativos
Esta nueva plataforma ha sido una motivación extra
para los alumnos, que han valorado muy bien la
experiencia. En la encuesta realizada a los nueve
alumnos matriculados en DSO el primer año en que se
usó la RPi (curso 2014-2015), el 100% valoró el uso de
la plataforma como muy interesante y adecuada.
Además, todos ellos opinaron que se debería usar de
forma continuada en el resto de asignaturas del área.
Muchos de ellos ya tenían o han adquirido una RPi, al
final del curso, todos menos uno, poseían una tarjeta
propia y la habían usado para poder profundizar en sus
desarrollos prácticos fuera del horario de laboratorio. La
información sobre la RPi en Internet (principalmente en
inglés) permite a los alumnos documentarse y resolver
los problemas de diseño y desarrollo planteados.
D. Arquitecturas Emergentes
La evaluación de la experiencia en AE, se realizó en
base a una encuesta a la que contestaron los 5 alumnos
matriculados en el curso 2014-2015 (primer año de
impartición de la asignatura). Solo uno de los alumnos
tenía una RPi en propiedad, pero todos consideraron las
prácticas interesantes y formativas. En el campo de texto
libre, un alumno comentó: “creo que se le podría dar
mucho juego a la Raspberry si ésta se usara desde otras
asignaturas, pues se podría ir añadiendo ladrillos en cada
asignatura y finalmente conseguir algo más
"tecnológico" que hacer sonar una musiquita.”. Este
comentario nos lleva a reflexionar si los alumnos de
realmente necesitan la motivación/juego con luces y
sonidos o ya prefieren actividades más técnicas y
profesionales, aunque sean más áridas.
E. Informática Industrial
Se valoró la introducción de la plataforma RPi
mediante una encuesta realizada a los 5 alumnos
matriculados en el primer año de impartición de la
asignatura (curso 2014-2015). El 100% valoró el uso de
la plataforma como muy interesante y adecuada. En este
caso, tan sólo uno de ellos ya tenía una RPi propia. El
perfil de alumno en este Grado, está un poco más
alejado del área de las tecnologías de la información y
comunicaciones que los pertenecientes a los Grados de
Informática. Sin embargo, aceptaron muy positivamente
el uso de esta plataforma, que vieron como más atractiva
que el clásico PC con el que hasta ahora estaban
acostumbrados a trabajar. Los ejercicios de
programación y desarrollo en lenguaje C sobre el
entorno Linux (Raspbian) no les resultaron triviales y
requirieron de un tiempo de aprendizaje y esfuerzo
extra. Sin embargo, parece que el hecho de “tocar” e
interactuar con la tecnología, casi jugando, les motivó a
seguir intentándolo, mejorando cada vez más sus
destrezas y capacidad de manejarse con la
programación.
Parece que los resultados obtenidos de sus desarrollos
son más satisfactorios al trabajar con la RPi. El hecho de
trabajar e interactuar con los sensores físicos y realizar
el conexionado/cableado de los sensores al interfaz
GPIO de la RPi da un valor especial a la experiencia que
la hace más gratificante. En los ejercicios prácticos
parece que el proceso de creación es más completo
cuando además de programar la parte software o
inteligencia del sistema, también pueden intervenir
físicamente en el diseño y montaje del hardware o
aparataje necesario. Desde luego, la placa de desarrollo
RPi se ha revelado como una opción muy asequible para
equipar un laboratorio de programación, control y
automatización. Hasta ahora se utilizaban placas de
desarrollo equipadas con microcontrolador y diferentes
actuadores/sensores en el laboratorio de esta asignatura,
pero ahora se combinan con la RPi que ofrece un SO
completo y mayor flexibilidad y potencia, de forma que
la RPi se convierte en el supervisor de la placa con
microcontrolador, dándole además conectividad de red y
así poder realizar ejercicios aplicados de IoT (Internet of
Things).
F. Resultados Globales
Aunque se ha hecho una evaluación pormenorizada de
cada una de las asignaturas evaluadas en la experiencia,
dedicamos este apartado a dar una visión global sobre
los resultados de las encuestas de todas ellas. La
satisfacción del alumnado que asistió a los laboratorios
de estas asignaturas mencionadas se evaluó mediante 9
encuestas anónimas implementadas mediante
formularios Google. En total, respondieron 212 alumnos
que realizaron las prácticas con RPi. De los resultados
de dichas encuestas se desprende claramente que los
alumnos disfrutaron con las prácticas propuestas ya que
al 89% de los encuestados las prácticas les parecieron
muy interesantes.
La Fig. 2 muestra las estadísticas de dos de las
preguntas de dichas encuestas, distinguiendo a los
alumnos por curso (de 1º a 4º), e incluyendo la última
columna con la media para todos los alumnos de todos
los cursos. Las gráficas muestran el porcentaje de
alumnos que ha respondido estar “De acuerdo” o
“Totalmente de acuerdo” a las preguntas: (a) ¿Te
gustaría usar la RPi en otras asignaturas de 1º a 4º?; y
(b) ¿Te han parecido motivadoras las prácticas con RPi?
El rango de las respuestas contempla 5 opciones (“Total
desacuerdo”, “En desacuerdo”, “Neutral”, “De acuerdo”
y “Totalmente de acuerdo”).
Jornadas SARTECO 2017 319
(a) (b)
Fig. 2. Valoración de los alumnos dependiendo del curso a las
preguntas: (a) ¿Te gustaría usar la RPi en asignaturas de todos los
cursos? y (b) ¿Han sido las prácticas motivadoras?.
De estas gráficas se desprende que siempre para más
del 80% de los alumnos (sobre el 90% de media) las
prácticas resultaron motivadoras y se considera que la
RPi se debería usar en otras asignaturas de la carrera,
dando una continuidad a la plataforma y cierto grado de
coordinación vertical.
En la Fig. 3 se muestra el resultado de preguntar por el
grado de penetración de la RPi entre los alumnos: qué
porcentaje de alumnos ya tienen una RPi en propiedad y,
de los que no, cuántos estarían “De acuerdo” o
“Totalmente de acuerdo” en comprar una.
En todos los cursos más del 15% de los alumnos ya
tiene una RPi, incluso entre los alumnos de primer
curso. Destaca el grupo de DSO (3º), donde el 86% de
los alumnos cuentan con una RPi, lo que eleva la media
de alumnos que pueden continuar con las prácticas fuera
del horario de laboratorio al 39%. No sorprende que
dado el bajo coste de la RPi y la gran cantidad de
aplicaciones que se le puede dar (fuera del ámbito
académico) que el 77% de los alumnos se planteara
comprar una RPi si se usara en las asignaturas de la
carrera.
(a) (b)
Fig. 3. Aceptación de la RPi: (a) % alumnos que ya tienen una RPi en
propiedad y (b) % alumnos que en caso contrario se la
comprarían.
Para la asignatura EC se contó con 21 alumnos de
control que cursaron las prácticas según el temario de
años anteriores usando MIPS en lugar de ARM. De este
grupo destacamos que, aunque las prácticas con MIPS
eran las obligatorias, el 70% de los alumnos decidieron
voluntariamente hacer también las prácticas con RPi (en
algunos casos asistiendo a los laboratorios de otros
grupos). El 84% de este grupo de control también estaba
“De acuerdo” o “Totalmente de acuerdo” con que la RPi
se usara en el mayor número posible de asignaturas de la
carrera.
VI. CONCLUSIONES
Queremos alumnos motivados en clase y los resultados
de este trabajo confirman que la plataforma RPi es un
elemento que mejora dicha motivación. Con este
objetivo, hemos abordado la renovación de una buena
cantidad de prácticas de laboratorio que habían quedado
obsoletas y faltas de atractivo para el alumnado.
Además, con esta experiencia se ha conseguido
actualizar varias de las asignaturas impartidas por el
departamento de Arquitectura de Computadores y
convencer a los profesores de las bondades de la
plataforma RPi a la hora de poner en práctica los
contenidos teóricos impartidos en las asignaturas de este
departamento. Aunque en las ramas de Ingeniería de
Tel ecom unica ción y de Ing enier ía Indu stri al, te nemos
menos presencia, esperamos que nuestra experiencia con
la RPi sea contagiosa a otros departamentos y áreas.
AGRADECIMIENTOS
El presente trabajo ha sido financiado mediante el
proyecto de innovación educativa PIE13-082 de la
Universidad de Málaga.
REFERENCIAS
[1] E. Upton and G. Halfacree, Raspberry Pi user guide, 3rd
edition. Wiley, 2014.
[2] J. Andrus and J. Nieh, “Teaching Operating Systems Using
Android,” in Proceedings of the 43rd ACM Technical
Symposium on Computer Science Education, 2012, pp. 613
618.
[3] “IDC: Smartphone OS Market Share 2016, 2015.” [Online].
Available: http://www.idc.com/promo/smartphone-market-
share/os.
[4] G. Ortega et al., “Procesadores de bajo coste y su aplicación
en la docencia de Ingeniería de Computadores,” in Actas de
las XXII Jenui, 2016, no. 2, pp. 343349.
[5] J. Kawash, A. Kuipers, L. Manzara, and R. Collier,
“Undergraduate assembly language instruction sweetened
with the raspberry pi,” in SIGCSE 2016 - Proceedings of the
47th ACM Technical Symposium on Computing Science
Education, 2016.
[6] Y.-H. Lu, G. Zhu, and C.-K. Koh, “Using the Tetris game to
teach computing,” in ASEE Annual Conference and
Exposition, Conference Proceedings, 2010.
[7] A. Esakia, S. Niu, and D. S. McCrickard, “Augmenting
Undergraduate Computer Science Education With
Programmable Smartwatches,” in Proceedings of the 46th
ACM Technical Symposium on Computer Science
Education, 2015, pp. 6671.
[8] A. García Martín, Coordinación docente horizontal y
vertical. Universidad Politécnica de Cartagena, Servicio de
Documentación, 2015.
[9] L. Torrego and C. Ruiz, “La coordinación docente en la
implantación de los títulos de Grado,” Rev. Electrónica
Interuniv. Form. Del Profr., vol. 14, no. 4, pp. 3140, 2011.
[10] E. Manchado Pérez and I. López Forniés, “Coordinación por
módulos de asignaturas en el Grado de Ingeniería de Diseño
Industrial y Desarrollo de Producto de la Universidad de
Zaragoza,” REDU Rev. Docencia Univ. ISSN 1887-4592,
Vol. 10, No. 3, 2012 (Ejemplar Dedic. a Innovaciones en el
diseño Curric. los Planes Estud., vol. 10, no. 3, p. 195, 2012.
[11] A. Hurst et al., “Towards a Multidisciplinary Teamwork
Training Series for Undergraduate Engineering Students:
Development and Assessment of Two First-year
Workshops,” in 2016 ASEE Annual Conference &
Exposition Proceedings, 2016.
[12] “Raspberry Pi - Teach, Learn, and Make with Raspberry Pi.”
[Online]. Available: https://www.raspberrypi.org/.
[13] D. A. Patterson and J L Hennessy, Computer Organization
and Design, 5th ed. Elsevier, 2014.
[14] D. A. Patterson and J. L. Hennessy, Computer Organization
and Design: The Hardware Software Interface: ARM
Edition, 1st ed. Elsevier, 2016.
[15] S. L. Harris and D. M. Harris, Digital design and computer
architecture.
[16] C. F. Villena Godoy, A. J., Asenjo R., “Prácticas de
Ensamblador Basadas en Raspberry Pi.” 2016.
320 Jornadas SARTECO 2017
... L A programación en ensamblador no resulta atractiva para la mayoría de alumnos del Grado en Ingeniería Informática [1]. Requiere un profundo conocimiento de la arquitectura para la que se desarrolla y hace falta mucho esfuerzo para hacer y mantener incluso los programas más sencillos. ...
... Como se ha mencionado, se trata de contenidos que no suelen agradar a los alumnos y que se intentan amenizar. La propuesta de [1] es trabajar en ARM. Se basan en el potencial de esta arquitectura y en que se encuentra en los dispositivos que los alumnos asocian a su tiempo libre, como móviles y el popular micro-computador Raspberry Pi. ...
Conference Paper
Full-text available
En este artículo se plantea una actividad complementaria para la asignatura Arquitectura de Computadores del Grado en Ingeniería Informática. Se trata de la programación guiada de un juego sencillo para CHIP-8, una máquina virtual de los años 70 que se diseñó para facilitar el desarrollo de juegos multiplataforma. Durante la actividad, el profesor presenta la máquina CHIP-8 y pasa a describir paso a paso el código que se incluye en este trabajo. Los alumnos siguen el proceso desde sus equipos con Octo, un potente ensamblador e IDE en línea para esta arquitectura. Al final de la sesión se propone la realización de alguna modificación simple en el juego. Aquellos que la hacen, reciben una nota positiva de clase. Esta actividad busca motivar a los alumnos para que se interesen por la programación en ensamblador aprovechando la popularidad de los videojuegos en general y los juegos retro en particular. Una encuesta realizada sobre alumnos matriculados en el curso 2017/18 en Arquitectura de Computadores del Grado en Ingeniería Informática de la Universidad de Almería apoya su implantación. Concretamente, el 86% de los estudiantes considerarían esta actividad estimulante y útil para amenizar el desarrollo de la asignatura.
... En este sentido, utilizamos Raspberry Pi [1] debido a que, frente a otras plataformas, se trata de una solución de bajo coste que soporta virtualización y ejecución tanto con múltiples sistemas operativos de alto nivel como sin sistema operativo (bare metal), entre otras ventajas. Además, varias universidades españolas han utilizado recientemente este dispositivo para desarrollar proyectos relacionados [2], [3], lo cual permitirá compartir experiencias de uso. ...
... Tanto Raspberry Pi como BeagleBoard resultan buenas candidatas para su uso en el Grado y permitir un aprendizaje transversal utilizando conocimientos de múltiples asignaturas. Sin embargo, de manera similar a otros trabajos relacionados [2], [3], nos decantamos por Raspberry Pi (véase Figura 5) principalmente por su bajo coste y la gran aceptación y cantidad de material adaptado disponible de manera abierta y gratuita. ...
Conference Paper
Full-text available
Para el alumnado de Ingeniería Informática resulta de gran interés alcanzar una visión global de los diferentes niveles de abstracción que permiten entender y explotar un sistema informático. Sin embargo, la organización habitual del Grado de Ingeniería Informática en asignaturas tiende hacia la creación de compartimentos estancos, donde se suele trabajar con un único nivel de abstracción, lo cual conlleva a aislar conceptos y especializar plataformas. Con el objetivo de dotar a un conjunto de asignaturas de una mayor transversalidad, este artículo describe un proyecto consistente en un trazador de rayos paralelo que permite al alumnado experimentar las propiedades de la atomicidad, consistencia, paralelismo y concurrencia de un sistema informático desde el nivel algorítmico de una aplicación hasta las instrucciones de código máquina, incluyendo la interacción entre los diferentes niveles de abstracción del sistema y la relación con las asignaturas involucradas. El desarrollo del proyecto se sustenta con la elaboración de diferentes enunciados de prácticas atendiendo a los distintos niveles de abstracción. Finalmente, se describen los requisitos hardware y software necesarios para el desempeño de las prácticas así como la justificación de la elección del dispositivo Raspberry Pi como plataforma única de desarrollo.
... El procesador MIPS era adecuado para explicar conceptos de una manera sencilla pero no llegaba a convertirse en una motivación para el alumnado pues no podían poner en práctica los conocimientos que adquirían. Por ello, este año se ha reemplazado el procesador MIPS por el de ARM al igual que se han hecho en otros Grados en Ingeniería Informática de otras universidades [6][7][8][9]. Además, en clases de tecnología de muchos institutos ya se incluyen dispositivos como Raspberry Pi y Arduinos para realizar proyectos por lo que la entrada en la universidad y más concretamente en la asignatura de Estructura de Computadores le supone aprender a un nivel mucho más bajo como funciona el juguete que han estado utilizando años anteriores. ...
Conference Paper
Full-text available
En este artículo se expone el cambio realizado durante el curso académico 2018-2019 en la asignatura de Estructura de Computadores con la inclusión del procesador ARM que tan buena aceptación tiene entre los estudiantes. En concreto se ha utilizado una versión simplificada del procesador, denominada ARM-Simple, para facilitar el aprendizaje a los alumnos de primer curso. Para la simulación del procesador, se ha utilizado la herramienta Digital , un simulador de circuitos que posee un conjunto muy interesante de características que facilitan el diseño, construcción, análisis y validación de los distintos componentes. Se han propuesto un conjunto de actividades que abordarán los alumnos durante el trascurso de la asignatura. Estas actividades se les presentan en iteraciones, de forma que construyen el procesador incrementalmente añadiendo en cada iteración un componente nuevo. Para terminar, en la ultima iteración se les proporciona un código en alto nivel que deben convertir a código ensamblador, posteriormente a código máquina y ejecutarlo en los procesadores que hayan construido.
... Being a RISC architecture, it is also relatively simple compared with other mainstream platforms like x86. This switch has been made on other universities [6][7][8][9] with great success. Furthermore, early introduction to the architecture is helpful for students, as they will use ARM platforms on subjects such as Computer Architecture and Multiprocessors on subsequent years. ...
Conference Paper
Traditionally, the final part of the subject Structure and Computers Technology at the University of Almería introduced students the architecture and assembly of MIPS processors. However, students perceived this architecture antiquated and with little relevance in current Computer Science. For this reason, the program of this subject has been updated to replace that part with ARM processors, which are of great interest nowadays. This work explains how this architecture has been included in the mentioned subject during the academic year 2018/19. A basic ARM processor has been designed for this purpose. Its name is ARM-Simple and aims to simplify learning for first-year students. For its implementation and simulation, the software package Digital has been used. It is an open-source circuit simulator which provides an interesting set of features that simplify the design, construction, analysis, and validation of different components. Several activities have been proposed for students. They are presented and divided into iterations so that students build the processor incrementally by adding a new component at each iteration. At the last iteration, students are provided with a high-level code. Students are then first required to convert it into assembly code and finally asked to transform it into machine code that can be executed by the processor built.
Conference Paper
Full-text available
Computer Science is advancing rapidly and it is ne- cessary to keep the educational resources up to date in order to keep the interest of students. Nowadays, there is a wide variety of low-cost computing platforms that are used as educational resources in the Computer Science degree. Raspberry Pi and some models of Arduino (such as Arduino Due), which are both based on ARM processors, are representative examples of this kind of platforms. ARM architectures are instances of RISC processors which nowadays have reached an important popularity due to their good relation bet- ween performance, consumption and cost. In fact, they constitute the core of numerous current mobile phones and embedded systems. Considering their proximity to the students, the use of this kind of resources in the classroom is an opportunity to: (1) encourage the high schools pupils to study the Computer Science degree and (2) to increase the interest of the students for the Computer Engineering. There are several consolidated informational events of great social outreach in which different examples of application of this kind of platforms are shown. In this work, the set of interactive systems designed to be used in this kind of events is described. According to our experience, we think that they arouse the interest of high schools pupils for the Computer Science in general, and, more specifically, for the Computer Engineering. Furthermore, a percentage of the students of the Computer Science degree is not interested in the analysis of hardware components and the architecture of modern computers. They think that the subject of Computer Architecture of the Computer Science Degree is far from his/her future career. In this context, we will select ARM as a reference architecture where the contents of the subject Computer Architecture will be developed on. We think this might improve the motivation of the students mainly for two reasons: (1) the object of study is being used in a lot of modern platforms; and (2) it is possible to design the practical activities of the subjects using real platforms and not only virtual ones. This work shows the activities proposed to the students in the context of the subject Computer Architecture, considering both practical and theoretical approaches.
Conference Paper
Full-text available
Ada Hurst is a Lecturer in the Department of Management Sciences at the University of Waterloo. She has taught and coordinated the capstone design project course for the Management Engineering program since 2011. She also teaches courses in organizational theory, technology, and behaviour. She received her Bachelor of Applied Science in Electrical Engineering and Master of Applied Science and PhD in Management Sciences, all from the University of Waterloo. Ada's research and teaching interests include decision making under uncertainty, subjective probability, expert vs. novice review in engineering design, team processes, gender issues in STEM disciplines, and experiential and online learning. Ms. Erin Jobidon, University of Waterloo Academic Development Specialist Dr. Andrea Prier, University of Waterloo Mr. Taghi Khaniyev, University of Waterloo He acquired his BS degree in Electrical and Electronics Engineering from Middle East Technical University and MS degree from Bogazici University. He is currently enrolled in PhD program at University of Waterloo, Management Sciences. His main research interests are data analytics, large scale optimization and stochastic models. He organized and delivered training sessions at a number of international events related to leadership and teamwork. Mr. Christopher Rennick, University of Waterloo Mr. Christopher Rennick received his B.A.Sc., Honours Electrical Engineering in 2007, and his M.A.
Conference Paper
It is widely recognized that motivating students in an undergraduate assembly language course is a tremendous challenge, principally because of the perception that the subject matter is both difficult and tedious. The Raspberry Pi is a small and inexpensive single-board computer that was created for educational purposes, and in this paper we describe how we successfully incorporated this device into the curriculum of an undergraduate assembly language course. We describe, in detail, the objectives for this course and the dedicated lab that uses the Raspberry Pi as an embedded device, and then evaluate the effectiveness of our approach. Our findings (obtained by exploring changes in student performance and examining the results of an engagement/enjoyment survey) strongly indicate that the introduction of the Raspberry Pi was well received by the students and contributed positively to their learning outcomes.
Conference Paper
Dynamic languages have regained enormous popularity in recent years. One of the principal dynamic programming languages, Ruby, has been used as the language for assignment work and the presentation of concepts in an introductory Operating Systems course. This was a strange choice for a systems course but there were several good reasons for the choice including the ease with which Ruby provides access to Unix commands and system calls. After some initial problems, the change has been very successful and demonstrates that even in the core courses of a Computer Science curriculum dynamic programming languages have benefits.
Article
Contiene: 1. Abstracciones y tecnología de computadores; 2. Instrucciones: lenguaje de la máquina; 3. Aritmética para computadores; 4. El procesador; 5. Grande y rápido: explotar la jerarquía de memoria; 6. Almacenamiento y otros temas de I/O; 7. Multinúcleos, multiprocesadores y clusters. Apéndices: A. Gráficas y computación de unidades de procesamiento gráfico; B. Ensambladores, montadores de enlace y el simulador SPIM. Contenido del CD-ROM: C. Las bases del diseño lógico; D. Implementación del hardware de control; E. Estudio de las arquitecturas RISC para escritorio, servidores y computadoras integradas.
Augmenting Undergraduate Computer Science Education With Programmable Smartwatches
  • A Esakia
  • S Niu
  • D S Mccrickard
A. Esakia, S. Niu, and D. S. McCrickard, "Augmenting Undergraduate Computer Science Education With Programmable Smartwatches," in Proceedings of the 46th ACM Technical Symposium on Computer Science Education, 2015, pp. 66-71.
La coordinación docente en la implantación de los títulos de Grado
  • L Torrego
  • C Ruiz
L. Torrego and C. Ruiz, "La coordinación docente en la implantación de los títulos de Grado," Rev. Electrónica Interuniv. Form. Del Profr., vol. 14, no. 4, pp. 31-40, 2011.