View
10
Download
0
Category
Preview:
Citation preview
Introducción de tecnologías móviles en los programas de estudios de ingeniería de la UABC
Guillermo Licea, Leocundo Aguilar, Luis G. Martínez, Reyes Juárez-Ramírez Ingeniería en Computación
Universidad Autónoma de Baja California Tijuana, Baja California, México
RESUMEN
Las tecnologías móviles se han convertido en una
necesidad para la vida diaria de muchas personas. Hoy más
que nunca, vemos una gran cantidad de gente utilizando las aplicaciones de los dispositivos de cómputo móvil para
llevar a cabo sus tareas tanto de trabajo o de estudio como
de entretenimiento. El desarrollo de aplicaciones para estos
dispositivos se ha convertido en un nicho de oportunidad
para los profesionistas de la computación. En el presente
artículo se describe la manera en que se han introducido las
tecnologías móviles en el programa de estudios de las
carreras de ingeniería en la Universidad Autónoma de Baja
California (UABC) y el impacto que ha tenido en los
estudiantes.
Palabras clave: Tecnologías móviles, Dispositivos de
cómputo móvil, Android, Blackberry, iOS.
1. INTRODUCCIÓN
El uso acelerado de tecnologías móviles ha impulsado una
revolución en la manera de llevar a cabo las tareas de
trabajo, estudio o simplemente de entretenimiento. Hoy en
día es de lo más común ver a las personas en los
restaurantes, transporte público, parques, supermercados,
etcétera, llevar a cabo tareas tan simples como revisar una lista de pendientes o tan complejas como realizar una
reunión de trabajo virtual.
Las instituciones de educación de todos los niveles tenemos
el reto de incorporar las tecnologías móviles en nuestros
programas de estudio para que los estudiantes puedan a su
vez incorporarlas en su vida diaria facilitando sus tareas.
En particular, las instituciones de educación superior donde
se forman los ingenieros del futuro tenemos la obligación
no sólo de incorporar el uso de las tecnologías móviles, sino incluir en el programa de estudios cursos que permitan
a los estudiantes llevar a cabo nuevos desarrollos
tecnológicos tanto de hardware como de software.
Existen tres plataformas móviles que dominan el mercado
actual tanto de teléfonos inteligentes (smartphones en
inglés) como de tabletas (tablets en inglés): iOS, Android y
Blackberry.
iOS es el sistema operativo utilizado por los dispositivos
(iPod, iPhone, iPad) creados por la compañía Apple.
Android es el sistema operativo creado por la compañía
Google y utilizado en teléfonos inteligentes y tabletas de
varias compañías como HTC, LG, Motorola, Samsung, Sony, entre otras. Blackberry OS es el sistema operativo
utilizado por los teléfonos inteligentes de la compañía
Research In Motion (RIM), la cual también es creadora de
la tableta PlayBook que utiliza el sistema operativo
Blackberry Tablet OS.
Una manera sencilla de introducir a los estudiantes de
ingeniería en el mundo de las tecnologías móviles es la
inclusión de cursos para desarrollar aplicaciones que se
ejecuten en los dispositivos de cómputo móvil (teléfonos
inteligentes y tabletas) de las plataformas móviles más utilizadas.
En la Universidad Autónoma de Baja California (UABC),
específicamente en la carrera de Ingeniero en Computación,
hemos introducido paulatinamente cursos que preparan a
los futuros ingenieros para desarrollar aplicaciones para las
tres principales plataformas tecnológicas.
En este artículo se describe la manera en que se han
introducido las tecnologías móviles en el programa de
estudios de la carrera de ingeniería en computación, y el
impacto que ha tenido tanto en los estudiantes como en los profesores.
En la sección 2 se describe la estructura del programa de
estudios de ingeniero en computación, así como los cursos
y temas relacionados con el desarrollo de aplicaciones para
dispositivos de cómputo móvil que se han introducido. En
la sección 3 se describen brevemente las aplicaciones más
representativas desarrolladas por los estudiantes, así como
una herramienta construida por profesores para facilitar las
tareas de los estudiantes y finalmente, en la sección 4 se
presentan los resultados obtenidos a la fecha.
2. ESTRUCTURA DEL PROGRAMA DE ESTUDIOS Y SECUENCIA DE CURSOS DE PROGRAMACIÓN
En el programa de estudios de Ingeniero en Computación
se han introducido las tecnologías móviles de manera
parcial en los cursos obligatorios de programación
orientada a objetos y de manera más profunda en algunos
cursos optativos.
La secuencia de cursos de programación inicia en el
segundo semestre con un curso de programación para
ingenieros, seguido de los cursos de programación
estructurada, programación orientada a objetos,
programación orientada a objetos avanzada y tecnologías de la programación. Cada uno de estos cursos se imparte en
semestres consecutivos iniciando la secuencia en el
segundo y terminando en el sexto semestre.
Los cursos de programación para ingenieros y
programación estructurada utilizan el lenguaje C para llevar
a cabo las prácticas y proyecto de fin de curso. Los cursos
de programación orientada a objetos y programación
orientada a objetos avanzada utilizan el lenguaje Java para
las prácticas y proyectos de fin de curso. El curso de
tecnologías de la programación presenta a los estudiantes
un conjunto de herramientas que pueden utilizar para mejorar sus técnicas y habilidades de programación.
A través de Java se puede desarrollar para varias
plataformas móviles incluyendo dos de las tres que
dominan el mercado, Android y Blackberry. En la UABC
decidimos utilizar la plataforma Blackberry para introducir
a los estudiantes en el desarrollo de software para
plataformas móviles.
Un lugar idóneo para introducir temas relacionados con el
desarrollo de aplicaciones para dispositivos móviles son los cursos de programación, específicamente programación
orientada a objetos y programación orientada a objetos
avanzada, esto debido a que el desarrollo para dispositivos
móviles está basado en lenguajes de programación
orientados a objetos como Java, C++ u Objective-C, entre
otros.
Los temas que se cubren en el curso de programación
orientada a objetos son los siguientes:
1. Conceptos básicos 2. Clases y objetos
3. Tipos primitivos y referencias
4. Métodos y variables de instancia
5. Bibliotecas de clases
6. Herencia y polimorfismo
7. Interfaces y clases abstractas
8. Constructores y recolección de basura
9. Introducción al desarrollo de aplicaciones para
teléfonos inteligentes
Después de cubrir los conceptos fundamentales de la
programación orientada a objetos en Java, se introducen los conceptos básicos de la programación de teléfonos
inteligentes Blackberry, para este fin se llevan a cabo
algunas prácticas de laboratorio donde los estudiantes
desarrollan tres aplicaciones sencillas utilizando teléfonos
inteligentes que fueron proporcionados por la compañía
RIM a través del Blackberry Academic Program [1].
Los temas cubiertos en el curso programación orientada a
objetos avanzada son los siguientes:
1. Manejo de excepciones
2. Interfaz gráfica de usuario y manejo de eventos 3. Administradores de diseño y componentes
4. Serialización, archivos y reflexión
5. Conexión en red e hilos
6. Colecciones y genéricos
7. Empaquetado y distribución
8. Introducción al desarrollo de aplicaciones para
dispositivos tipo tableta
Tanto el curso programación orientada a objetos como
programación orientada a objetos avanzada se basan en el
libro Head First Java de Sierra y Bates [2], el cual introduce
de manera gráfica, amena y práctica los conceptos fundamentales del lenguaje Java.
Después de cubrir los conceptos avanzados de la
programación orientada a objetos en Java, se introducen los
conceptos básicos de la programación del dispositivo tipo
tableta Playbook, para este fin se llevan a cabo algunas
prácticas de laboratorio donde los estudiantes desarrollan
dos aplicaciones de mediana complejidad utilizando
dispositivos Playbook proporcionados por la compañía
RIM a través del Blackberry Academic Program [1].
Una vez concluida la secuencia de cursos de programación,
el estudiante puede optar por tomar algunos cursos más
especializados para aprender a desarrollar software para las
plataformas móviles más populares como Android,
Blackberry e iOS [3].
3. CONSTRUCCIÓN DE HERRAMIENTAS DE APOYO Y APLICACIONES
Como parte de la estrategia para introducir tecnologías móviles en los programas de estudios de ingeniería de la
UABC, se diseñó e implementó una herramienta de
software que facilita a los estudiantes el desarrollo de un
tipo de aplicaciones muy populares en los dispositivos
móviles, las aplicaciones basadas en listas. La herramienta
LAB (List Applications for Blackberry) es un marco de
clases Java que implementa los elementos básicos de una
aplicación basada en listas, de tal manera que el estudiante
(programador) sólo debe definir los datos que se utilizarán
en la aplicación y algún tipo de funcionalidad extra.
La figura 1 muestra el diagrama de clases de la herramienta LAB. Las clases File, Container, OpenDialog, SaveDialog
y AppMainScreen fueron desarrolladas por profesores de la
UABC, mientras que las clases MainScreen y
UiApplication son parte de los paquetes proporcionados por
RIM para el desarrollo de aplicaciones en teléfonos
inteligentes Blackberry.
Figura 1. Diagrama de clases de LAB
A través de la herramienta LAB, los estudiantes de los
cursos de programación orientada a objetos, han
implementado aplicaciones basadas en listas como parte de
su experiencia inicial en el desarrollo de aplicaciones para
dispositivos móviles.
La figura 2 muestra un diagrama de clases que representa la
estructura de la aplicación StudentsApp, la cual se describe
a detalle en el curso de programación orientada a objetos
para ejemplificar el uso de la herramienta LAB.
Figura 2. Diagrama de clases de StudentsApp
StudentsApp es una aplicación que puede servir de apoyo a
profesores de diferentes niveles educativos. Esta aplicación permite registrar, editar y borrar la información de los
estudiantes inscritos en un curso, así como llevar el control
de las asistencias al curso.
La implementación de la aplicación StudentsApp se facilita
al utilizar la herramienta LAB, ya que las clases de
StudentsApp extienden las clases definidas en LAB y solo
es necesario definir las clases que representarán los datos
en la aplicación. En este caso Group y Student son las
clases definidas por el programador para representar los
datos que se administrarán en la aplicación.
La figura 3 muestra la aplicación StudentsApp en ejecución,
esto puede dar una idea más clara del tipo de aplicaciones que los estudiantes pueden desarrollar apoyados por la
herramienta LAB.
a) Menú de la aplicación b) Diálogo para agregar
con la opción agregar
c) Pantalla principal d) Opción para editar
e) Diálogo para editar f) Pantalla principal
g) Diálogo para grabar h) Opción para borrar
i) Diálogo para borrar j) Opción para pasar lista
k) Diálogo para pasar lista l) Pantalla principal
m) Diálogo para abrir n) Pantalla principal
Figura 3. StudentsApp en ejecución
La mayoría de las opciones del menú en la aplicación están
predefinidas en las clases de LAB, pero el programador
debe agregar opciones específicas de la aplicación como la
opción de pasar lista (Attendance).
De igual forma, algunos de los diálogos son
proporcionados por LAB (figura 3 g, i, m), mientras que otros diálogos específicos de la aplicación deben ser
implementados por el programador (figura 3 b, e, k).
La herramienta LAB se utiliza principalmente al final del
curso de programación orientada a objetos y en algunas
prácticas del curso de programación orientada a objetos
avanzada.
Algunas de las aplicaciones más representativas que han
desarrollado los estudiantes en el curso de programación
orientada a objetos son:
• StudentsApp+.
Versión extendida de la aplicación StudentsApp.
• Coins.
Aplicación que permite llevar la cuenta de las
monedas de cada denominación almacenadas en
una alcancía, así como el total acumulado.
• Books.
Aplicación que permite registrar los libros de una
biblioteca personal.
• Music.
Aplicación que permite registrar los discos de una
colección personal.
• Notes.
Aplicación que permite escribir, modificar y borrar notas cortas.
• SuperMarket.
Aplicación que permite registrar y administrar
productos del hogar pendientes de compra.
• Toys.
Applicación que permite registrar y administrar la
información de los juguetes de una colección
personal.
• Restaurants.
Aplicación que permite registrar información de
restaurantes y una calificación de acuerdo al gusto
del usuario.
Al final del curso de programación orientada a objetos
avanzada, los estudiantes desarrollan algunas aplicaciones
para dispositivos Playbook. La tarea específica de los
estudiantes consiste en portar (convertir) las aplicaciones
móviles desarrolladas al final del curso de programación
orientada a objetos hacia aplicaciones que funcionen en
dispositivos tipo tableta, específicamente el Playbook de la compañía RIM.
4. RESULTADOS
Desde la perspectiva de programación, la introducción
temprana de temas sobre tecnologías móviles, permite a los
estudiantes comprender el alcance del desarrollo de
software, el cual puede impactar no sólo en el buen
funcionamiento de los sistemas de cómputo tradicionales,
sino en cualquier tipo de dispositivo de cómputo programable, incluyendo los dispositivos móviles como
teléfonos inteligentes y tabletas.
Además, el introducir tecnologías móviles en el programa
de estudio de ingeniería en computación desde los primeros
cursos de programación permite a los estudiantes
identificar las posibilidades de desarrollo profesional y
seleccionar de mejor manera los cursos optativos
relacionados con estas tecnologías, si desean convertirse en
ingenieros especializados en el desarrollo de aplicaciones
para dispositivos móviles.
Finalmente, la preparación tanto de profesores como de estudiantes en el desarrollo de software especializado, ha
permitido a la carrera de Ingeniería en Computación
participar activamente en proyectos de vinculación con
empresas de la región, donde se obtienen becas para los
estudiantes y equipo de cómputo para los laboratorios.
5. REFERENCIAS
[1] Research In Motion,
http://us.blackberry.com/ataglance/academic/
[2] Sierra, K. Bates, B. Head First Java, O’Reilly, 2005. [3] Licea, G., Juárez-Ramírez, R., Angeles, A., Izquierdo,
V. Desarrollo de aplicaciones para dispositivos de cómputo
móvil: Una experiencia académica, Simposium
Iberoamericano de Educación, Cibernética e Informática
(SIECI), 2011.
Recommended