Dirección General de Educación Superior Tecnológica 1. Datos Generales de la asignatura Nombre de la asignatura: Programación de dispositivos móviles Clave de la asignatura: RSM‐1205 Créditos (Ht‐Hp_ créditos): 2‐4‐6 Carrera: Ingeniería en sistemas computacionales 2. Presentación Caracterización de la asignatura Esta asignatura aporta, al perfil del ingeniero, los conocimientos para desarrollar aplicaciones pensadas en una plataforma móvil. Desarrolla en el futuro ingeniero la capacidad de adaptarse ante el surgimiento de nuevas tecnologías. Aplica y reafirma los conocimientos de Fundamentos de Programación, Programación Orientada a Objetos, Fundamentos de Bases de Datos y Taller de Bases de Datos. Intención didáctica El contenido temático se organiza en cinco unidades de aprendizaje en las cuales se abordan los temas que el alumno habrá de dominar para crear una aplicación móvil completa y funcional. En la primera unidad se abordan los problemas particulares que presenta la programación de dispositivos móviles y las herramientas de desarrollo existentes. El facilitador deberá orientar al alumno en la instalación, configuración y utilización del entorno. La segunda unidad el alumno adquirirá el conocimiento que le permita crear la interfaz gráfica de la aplicación utilizando controles diversos y aplicando un lenguaje de programación orientado a objetos. Durante la tercera unidad el alumno aplica los conocimientos de bases de datos para la creación de una base de datos y la manipulación de la información contenida en ella. En la cuarta unidad el alumno aprende a manipular archivos multimedia y manipula la cámara integrada. Durante la quinta unidad el alumno se familiariza con las técnicas para el acceso a internet y con otros dispositivos. Se recomienda el desarrollo de un proyecto integrador al final de la materia. 3. Participantes en el diseño y seguimiento curricular del programa Lugar y fecha de elaboración o revisión Participantes Observaciones Instituto Tecnológico de Estudios Superiores de la Región Carbonífera, Noviembre de 2012 Instituto Tecnológico de Estudios Superiores de la Región Carbonífera Asignatura elaborada para la especialidad de Redes y Sistemas Distribuidos de la carrera de Ingeniería en Sistemas Computacionales. 4. Competencias a desarrollar Competencia general de la asignatura El alumno es capaz de construir aplicaciones móviles capaces de conectarse a internet y a otros dispositivos, con soporte para el almacenamiento permanente de información en el dispositivo móvil. Competencias específicas Desarrollar e implementar una aplicación móvil con acceso web y persistencia de datos Competencias genéricas Competencias instrumentales Capacidad para identificar, plantear y resolver problemas Capacidad de aplicar los conocimientos en la práctica creando aplicaciones móviles. Competencias interpersonales Capacidad para trabajar en equipo Competencias sistémicas Capacidad para organizar y planificar el tiempo de cada una de las etapas del desarrollo. Capacidad de comunicación en un segundo idioma para la localización de las aplicaciones. 5. Competencias previas de otras asignaturas Competencias previas Capacidad de análisis y solución de problemas utilizando el paradigma orientado a objetos. Capacidad de describir los requerimientos del cliente para la definición de las estructuras de datos persistentes. Uso de un lenguaje de programación orientado a objetos. 6. Temario Temas No. Nombre 1 Introducción 2 Arquitectura de la aplicación. 3 Almacenamiento de datos 4 Multimedia 5 Subtemas Conectividad 1.1 Tecnologías móviles: surgimiento y evolución 1.2 Estructura y ciclo de vida de una aplicación móvil. 1.3 Instalación y configuración de un entorno de desarrollo. 1.4 El lenguaje de desarrollo: características particulares. 2.1 Componentes de la aplicación 2.2 Interfaz de usuario 2.2.1 Controles 2.2.2 Maquetado 2.2.3 Estilos y temas 2.3 Servicios 2.4 Notificaciones 2.5 Seguridad 3.1 Preferencias 3.2 Archivos locales 3.3 Base de datos 4.1 Reproductor 4.2 Cámara 5.1 Conexión a internet 5.2 Consumo de un servicio web 5.3 Bluetooth 5.4 Wifi 7. Actividades de aprendizaje Competencia específica Enlazar los conocimientos de programación previamente adquiridos enlazándolos con los necesarios para la materia. Resaltar los momentos relevantes (hitos) en la evolución de los dispositivos móviles y su programación Tema Introducción Actividades de aprendizaje El alumno realiza una investigación sobre las bibliotecas utilizadas para la programación móvil y las contrasta elaborando un cuadro comparativo con lo utilizado en materias previas. El alumno narra mediante una línea de tiempo la evolución de la computación y programación móviles Competencia específica Desarrollar la interfaz de usuario de una aplicación móvil Crear una aplicación como servicio Comprender los métodos para la implementación de la seguridad. Tema Arquitectura de la aplicación Actividades de aprendizaje El alumno analiza, planifica y programa una aplicación móvil que permita la interacción con el usuario para la solución de problemas sencillos. El alumno analiza, planifica y programa una aplicación móvil para ejecutarse en el fondo para la solución de problemas simples Investigar en fuentes diversas los métodos utilizados para implementar la seguridad en los diferentes ámbitos y dibuja un mapa conceptual con lo encontrado Competencia específica Incorpora en las aplicaciones las funcionalidades para el almacenamiento persistente. Tema Almacenamiento de datos Actividades de aprendizaje El alumno mejora las aplicaciones realizadas incorporando los elementos que permitan almacenar información como preferencias, como archivos o en una base de datos. Evalúa ventajas y desventajas, categoriza los datos según el medio de almacenamiento más adecuado. Competencia específica Replantea las aplicaciones para agregar elementos multimedia en sus diseños. Tema Multimedia Actividades de aprendizaje El alumno enriquece las aplicaciones haciendo uso de las herramientas multimedia disponibles. Utiliza la cámara incorporada en sus aplicaciones. Competencia específica Crea aplicaciones que permiten el intercambio de datos por distintos medios y protocolos. Integra los conocimientos adquiridos construyendo aplicaciones móviles que combinan las herramientas que se han dominado. Tema Actividades de aprendizaje Conectividad El alumno desarrolla una aplicación de software móvil que combina todos los elementos aprendidos. Crea, para el desarrollo propuesto, un plan de desarrollo en equipo y registra sus avances. 8. Prácticas (para fortalecer las competencias de los temas y de la asignatura) 1. Introducción 1.1. Realizar una búsqueda en distintas fuentes que permita conocer las bibliotecas o herramientas utilizadas en el desarrollo de aplicaciones móviles. Crear, con lo descubierto, un cuadro comparativo que muestre las similitudes con el lenguaje de programación que dominan. 2. Arquitectura de la aplicación 2.1. Crear una calculadora básica. 2.2. Construir una o más aplicaciones para realizar conversiones entre distintas unidades de medida. 2.3. Crear un cronómetro para ser ejecutado en el fondo. 2.4. Implementar las notificaciones creando una alarma que sea ejecutada en el fondo. 3. Almacenamiento de datos 3.1. Mejora el convertidor de unidades guardando las preferencias del usuario (última conversión realizada) 3.2. Actualizar la calculadora para implementar la funcionalidad de la memoria logrando que este dato persista entre distintas ejecuciones mediante el almacenamiento en un archivo local. 3.3. Crear un convertidor de divisas que permita introducir un valor, una divisa origen y una destino y obtenga la equivalencia. Guardar en una base de datos las equivalencias entre las divisas. 4. Multimedia 4.1. Modificar la alarma para que reproduzca una notificación audible. 4.2. Construir una aplicación para guardar una imagen capturada con la cámara integrada. 5. Conectividad 5.1. Consumir un servicio web para actualizar la base de datos de divisas. 5.2. Implementar el juego del gato para jugarse utilizando dos dispositivos a través de bluetooth. 5.3. Intercambiar información mediante una aplicación que utilice la tecnología Wifi. 9. Proyecto integrador (Para fortalecer las competencias de la asignatura con otras asignaturas) Se sugiere como proyecto integrador el desarrollo de un juego de dos jugadores (Captura la bandera, por ejemplo) utilizando tecnologías móviles. que intercambie información entre dos dispositivos e implemente un algoritmo de búsqueda (A*) durante su ejecución. (Alternativa) Juego de mesa a elegir que implemente Minimax (o variante) y permita el almacenamiento y publicación de resultados Objetivo: Crear una aplicación que deberá ser capaz de conectarse con otro dispositivo e intercambiar con éste información relativa al estado del juego y movimientos realizados por el otro jugador. Desarrollo: Analizar en equipo las reglas de un juego para dos personas. Elaborar una interfaz gráfica. Conectar dos dispositivos con el mismo juego. Registrar los resultados. Aportación al perfil: Capacidad de análisis, Aplicación del pensamiento lógico, Trabajo en equipo, Administración de proyectos de software. Capacidad de organizar y planificar Desarrollar e implementar una aplicación móvil Desarrollar e implementar con acceso web y obtención de datos 10. Evaluación por competencias (específicas y genéricas de la asignatura) La evaluación debe ser continua y formativa por lo que se debe considerar el desempeño en cada una de las actividades de aprendizaje, haciendo especial énfasis en: Exámenes escritos para comprobar el manejo de aspectos teóricos. Exámenes prácticos para comprobar la aplicación de los conocimientos en la solución de problemas propuestos por el maestro. Desarrollo de aplicaciones móviles para cada una de las unidades que lo requieran en las cuales se apliquen los conocimientos adquiridos en las unidades anteriores y en la unidad de estudio. Descripción de otras experiencias concretas que podrían realizarse adicionalmente (participación, integración, entrega de prácticas en tiempo, entre otras.). 11. Fuentes de información (actualizadas considerando los lineamientos de la APA*) Amaro, J. (2011). Android: programacion de dispositivos moviles a traves de ejemplos. Barcelona: Marcombo. Google Inc. (n.d.). Android Developers. Retrieved 11 01, 2012, from http://developer.android.com Tomás, J. (2012). El gran libro de Android (Segunda edicion ed.). Barcelona: Alfaomega, Barcombo. * American Psychological Association (APA)