Introducción de tecnologías móviles en los programas de ...

5
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

Transcript of Introducción de tecnologías móviles en los programas de ...

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.