Download GUIA DEL CURSO DESARROLLO DE APLICACIONES EN ANDROID
Document related concepts
no text concepts found
Transcript
GUIA DEL CURSO DESARROLLO DE APLICACIONES EN ANDROID ÍNDICE 1. INTRODUCCIÓN ................................................................................... 3 2. PROFESORES ....................................................................................... 4 3. RESUMEN DE CONTENIDOS POR UNIDAD FORMATIVA ................................. 5 4. OBJETIVOS POR UNIDAD FORMATIVA ...................................................... 6 5. DISTRIBUCIÓN TEORÍA/PRÁCTICA EN LAS UNIDADES FORMATIVAS ............... 9 6. METODOLOGÍA DE IMPARTICIÓN ............................................................ 9 7. EVALUACIÓN .....................................................................................10 DESARROLLO DE APLICACIONES EN ANDROID Duración: 200 h DESARROLLO DE APLICACIONES EN ANDROID Fechas: Presentación 11/12/2014 Desarrollo del curso 12/01/2015-06/03/2015 Horario: 16:00 – 21:00 (de lunes a viernes) Semanas de 8 aprendizaje 1. INTRODUCCIÓN El curso: “DESARROLLO DE APLICACIONES EN ANDROID” tiene una carga docente del curso es de 200 horas distribuidas entre los días 11/12/2014 para su presentación y el 12/01/2015-6/3/2015 y sus destinatarios son jóvenes de 18 a 25 años con formación reglada de Bachiller LOGSE y conocimientos informáticos relacionados con el contexto del curso. Recomendable conocimientos de programación. En especial se buscan desempleados o buscando su primer empleo y motivados a conseguir su primer trabajo o tener más oportunidades al mejorar sus conocimientos en desarrollo de tecnologías móviles. CONVENIO DE COLABORACIÓN UPM-SAMSUNG El curso cuenta con dos módulos formativos diferenciados: • El primer módulo está dirigido a introducir la POO y su instrumentalización con el lenguaje de programación Java. Los objetivos son dobles, por una parte se busca conocer el origen, beneficios, términos y técnicas comúnmente utilizados en la Orientación a Objetos, la influencia de la Orientación a Objetos en los bloques principales de la construcción de software, así como su influencia sobre las aplicaciones nuevas y las ya existentes. Por otra parte aprender a programar en Java y entender como los conceptos de POO se instrumentalizan con este lenguaje. • El segundo módulo está orientado a adquirir los conocimientos necesarios para desarrollar Aplicaciones para dispositivos móviles en Android. En este curso, al alumno aprenderá a desarrollar aplicaciones para dispositivos Android con Java y el entorno de desarrollo Eclipse. Conocerá la base de la plataforma Android, el ciclo de vida de sus aplicaciones y sus componentes esenciales. Será capaz de escribir aplicaciones con una GUI simple, el uso de widgets integrados y componentes, y el trabajo con la base de datos para almacenar datos localmente. También se iniciará en este módulo las habilidades avanzadas Android que permiten crear aplicaciones personalizadas que utilizan componentes como la localización, sensores incorporados, cámara, proveedores de contenidos avanzados, Bluetooth, telefonía y conectividad de red. 3/11 2. PROFESORES Profesores DESARROLLO DE APLICACIONES EN ANDROID Profesor Titular de Universidad BERNAL BERMÚDEZ, JESÚS Doctor en Informática por la UPM. Licenciado en Informática por la UPM. Ingeniero Técnico de Telecomunicaciones por la UPM. Profesor Contratado Doctor FERRÉ GRAU, XAVIER Doctor en Informática por la UPM. Licenciado en Informática por la UPM. Profesor Titular de Universidad GUTIÉRREZ RODRÍGUEZ, Doctor en Informática por la UPM. ABRAHAM Licenciado en Informática por la UPM. CONVENIO DE COLABORACIÓN UPM-SAMSUNG Con más de 10 años de experiencia en formación continua, impartiendo, coordinando y dirigiendo cursos de formación. Cuentan con más de 3000 horas en formación no reglada, específicamente en temáticas relacionadas con Web (HTML, CSS, Javascript, .NET...), y especialmente con la programación en Java (Java EE: servlets, JSP, JSF, JPA, EJB, REST...). Profesores y coordinadores de asignaturas de posgrado en el Máster de Ingeniería Web, entre las que se encuentran: • • • • • Patrones de Diseño Servicios y Protocolos de Aplicaciones en Internet Desarrollo de aplicaciones Web distribuidas de código abierto (Java EE) Desarrollo de Aplicaciones en Sistemas Móviles Sistemas Gestores de Contenidos Dentro de su experiencia docente y relacionado con la formación del curso en cuestión han sido profesores y/o coordinadores de las asignaturas de grado siguientes: • • • • • • Interacción Persona-Ordenador Arquitectura de Computadores Sistemas Operativos Ingeniería del Proceso Software Programación Orientada a Objetos y Concurrente Algorítmica y Complejidad 4/11 • Teoría de la Gestión de la Información 3. RESUMEN DE CONTENIDOS POR UNIDAD FORMATIVA DESARROLLO DE APLICACIONES EN ANDROID La planificación del módulo formativo podrá verse modificada por motivos imprevistos (rendimiento del grupo, disponibilidad de recursos, etc.) y por tanto no deberá considerarse como definitiva y cerrada. • UD 1: Introducción a la POO (20h) o La unidad introduce el concepto de programación orientada a objetos a alumnos con algún bagaje en el paradigma imperativo, haciendo hincapié en la adaptación de la POO a los principios de ingeniería del software. Los contenidos propuestos permiten una aproximación a los paradigmas propios de la orientación a objetos (diseño orientado a objetos, encapsulación y ocultación de información, separación de comportamiento e implementación, clases, subclases y herencia, polimorfismo, jerarquías de herencia…). • UD 2: Fundamentos del Lenguaje Java (50h) CONVENIO DE COLABORACIÓN UPM-SAMSUNG o La unidad comienza con una introducción al entorno de desarrollo utilizado en el curso, su instalación y configuración básicas: los estándares de nomenclatura, la organización, indentado y comentario del código fuente, la gestión de proyectos, las diferentes vistas… Posteriormente continua con una revisión de las estructuras de control y los tipos de datos, con énfasis en los tipos de datos estructurados y en el procesamiento de arrays. Por último se profundiza en el paradigma orientado a objetos, focalizándose en la definición y uso de clases, objetos, interfaces, paquetes, excepciones… • UD 3: Entornos y herramientas de desarrollo en Android (20h.) o Este bloque temático introduce los aspectos básicos de Android, recorriendo a través de su historia los hitos más relevantes en el desarrollo de la propia tecnología, ofreciendo un panorama general actual de la misma. o También se introduce el SDK de Android, es decir, es el kit de desarrollo necesario para programar e implementar todo tipo de aplicaciones para Android. Incluyendo las APIs y herramientas necesarias para desarrollar las aplicaciones utilizando JAVA como lenguaje de programación y testear el código, respectivamente. o Por último se introduce la plataforma integral de desarrollo (IDE, Integrated Development Environment) soportada oficialmente que es Eclipse junto con el complemento ADT (Android Development Tools plugin ). • UD 4: Desarrollo de Aplicaciones en Android (70h.) o En este bloque temático se presentan en profundidad los diferentes componentes de una aplicación Android al igual que su modelo de interfaz gráfica, lo que permitirá al alumno la construcción de una aplicación Android completa. o Se muestra como la combinación de componentes permite el desarrollo de clientes móviles multimedia, visualmente atractivos y potentes. 5/11 • UD 5: Introducción al uso de componentes avanzados en Android (20h.) DESARROLLO DE APLICACIONES EN ANDROID o En esta última unidad didáctica se presentan en profundidad las particularidades de la base de datos embebida en Android, es decir, de SQLite. Además se introducen el resto de sistema que permiten en Android la manipulación y la persistencia de datos. o Por último se presentan algunos de los componentes avanzados presentes en los dispositivos Android y que permiten desarrollar aplicaciones diferenciadas como son el sistema de Mapas, el GPS, el acelerómetro, la cámara… • UD 6: Diseño de la experiencia de usuario de una aplicación móvil (20h.) o En este bloque temático se introducen los conceptos de usabilidad, diseño centrado en el usuario y experiencia de usuario. También se incorporan conocimientos vinculados con el diseño del concepto del producto, modelos de negocio de aplicaciones móviles y monetización. Finalmente se realiza un ejercicio de prototipado de la IU de aplicaciones móviles. 4. OBJETIVOS POR UNIDAD FORMATIVA • UD 1: Introducción a la POO o Entender el concepto de paradigma y sus implicaciones en el modo de resolver problemas. CONVENIO DE COLABORACIÓN UPM-SAMSUNG o Conocer y entender el proceso de evolución de los distintos paradigmas de programación o Entender el tipo de problemas de desarrollo software que palía un uso correcto del paradigma orientado a objetos o Conocer el modo en que el paradigma orientado a objetos ayuda a mejorar las capacidades de reutilización del software. o Comprender aquellos conceptos básicos y métodos relacionados con la Programación Orientada a Objetos. o Dominar y utilizar la terminología usual de la Programación Orientada a Objetos no sólo en castellano sino también en inglés, lengua franca de la Informática. • UD 2: Fundamentos del Lenguaje Java o Experimentar con entornos y herramientas de desarrollo orientado a objetos de libre distribución. o Manejar con fluidez el entorno de desarrollo de libre distribución SDK de Java y su uso combinado con el editor avanzado Eclipse. o Entender los conceptos de clase, atributo, operación, interfaz y objeto. o Entender el mecanismo de paso de mensajes. 6/11 o Comprender el modo en que se deben implementar los caminos de comunicación entre clases para permitir el paso de mensajes entre ellas. DESARROLLO DE APLICACIONES EN ANDROID o Entender y ser capaz de implementar los distintos tipos de relaciones que se pueden establecer a nivel de objeto entre dos clases: asociaciones, agregaciones y composiciones. o Entender el concepto de estado de un objeto. o Entender el mecanismo de abstracción de la herencia o Saber discernir entre jerarquías de herencia seguras (bien definidas) e inseguras o Comprender los costes de la herencia o Saber decidir cuándo usar herencia y cuándo optar por composición o Entender el concepto de polimorfismo o Entender la diferencia entre ligadura estática y ligadura dinámica en los lenguajes de programación o Entender la relación a nivel de implementación entre herencia y polimorfismo o Saber identificar los distintos tipos de polimorfismo: sobreescritura, variables polimórficas y genericidad. sobrecarga, o Entender las relaciones entre los distintos tipos de polimorfismo. o Entender los mecanismos de gestión de errores que ofrece Java. o Entender el concepto de persistencia. CONVENIO DE COLABORACIÓN UPM-SAMSUNG o Entender el concepto de concurrencia. • UD 3: Entornos y herramientas de desarrollo en Android o Experimentar con entornos y herramientas de desarrollo para Android. o Conocer las diversas redes y plataformas para sistemas móviles existentes. o Dominar y utilizar la terminología usual del desarrollo en Android no sólo en castellano sino también en inglés, lengua franca de la Informática. • UD 4: Desarrollo de Aplicaciones en Android o Conocer los principios de análisis diseño, verificación y validación de aplicaciones móviles Android mediante herramientas de ayuda al desarrollo de aplicaciones. o Ser capaz de diseñar adecuadamente sistemas de información de tamaño medio e implantarlos en sistemas móviles. o Conocer y sabe utilizar herramientas para la creación de GUIs Android. o Capacidad de concebir sistemas, aplicaciones y servicios basados en computación móvil. 7/11 o Comprender las características diferenciales de los sistemas móviles. o Conocer y comprender las particularidades computadora en sistemas móviles de interacción persona DESARROLLO DE APLICACIONES EN ANDROID o Aplicar las técnicas fundamentales de diseño e implementación de sistemas Android. • UD 5: Introducción al uso de componentes avanzados en Android o Comprender como se implementa la persistencia en Android. o Conocer y comprender las particularidades de la base de datos embebida en Android. o Conocer y comprender el funcionamiento de algunos de los componentes avanzados presentes en los dispositivos Android: GPS, acelerómetro, cámara… o Crear aplicaciones Android complejas que integran diferentes servicios del dispositivo. o Analizar el rendimiento y consumo energético de una aplicación. • UD 6: Diseño de la experiencia de usuario de una aplicación móvil o Entender los conceptos de usabilidad, diseño centrado en el usuario y experiencia de usuario. CONVENIO DE COLABORACIÓN UPM-SAMSUNG o Comprender cómo el correcto diseño del concepto del producto afecta a la arquitectura de la información implementada, permitiendo al usuario final alcanzar sus metas fácilmente. o Conocer los modelos de negocio de aplicaciones móviles y su posible monetización. o Conocer los conceptos esenciales para garantizar la usabilidad de la IU en las aplicaciones móviles. Maximizando el valor de esa experiencia para nuestro cliente y su audiencia. 8/11 5. DISTRIBUCIÓN TEORÍA/PRÁCTICA EN LAS UNIDADES FORMATIVAS HORAS TEORÍA UNIDAD FORMATIVA HORAS PRÁCTICA HORAS TOTALES DESARROLLO DE APLICACIONES EN ANDROID 1 Introducción a la POO 15 5 20 2 Fundamentos del Lenguaje Java 10 40 50 5 15 20 25 45 70 5 Introducción al uso de componentes avanzados en Android 5 15 20 6 Diseño de la experiencia de usuario de una aplicación móvil 10 10 20 70 130 200 3 Entornos y herramientas de desarrollo en Android 4 Desarrollo de Aplicaciones en Android TOTAL 6. METODOLOGÍA DE IMPARTICIÓN CONVENIO DE COLABORACIÓN UPM-SAMSUNG Todas las actividades tienen como objetivo principal el de potenciar el aprendizaje de los alumnos, facilitando la adquisición de cuantos conocimientos y competencias precise. Por ello, dependiendo del tipo de contenidos de los diferentes módulos formativos los métodos a utilizar variarán: expositivo, por descubrimiento, interactivo, enseñanza colaborativa, enseñanza programada, trabajo autónomo, metodología participativa (trabajos grupales, aprendizaje cooperativo, ...) etc. Al comenzar cada módulo del curso, el o la estudiante dispondrá de todo el material de la asignatura. Se incluirán las diapositivas presentadas en clase, como guión (nunca como único contenido a evaluar) de los conocimientos a adquirir, para facilitar su seguimiento. Se proporcionarán las hojas de ejercicios, así como toda la documentación que se considere necesaria relativas a la contenidos formativos. Los enunciados de las prácticas también estarán disponibles en cada módulo, así como hojas de ejercicios para trabajo personal de los estudiantes. A continuación se detallan los diferentes métodos docentes que se emplearán a lo largo del curso en este 9/11 DESARROLLO DE APLICACIONES EN ANDROID • Clases magistrales: Se expondrán la teoría básica del programa en cada uno de los temas que se vayan a tocar. • Prácticas: Se realizará un trabajo práctico propuestos por el profesor y relacionados con la materia estudiada. El trabajo realizado por cada alumno/a será revisado y valorado por el profesor, tanto en contenidos como en presentación, pudiendo ser requeridas de los alumnos cuantas explicaciones se consideren oportunas. Cada alumno tendrá acceso a su informe, debidamente revisado y valorado Los contenidos se desarrollarán en el aula (clase magistral + prácticas en aula), resolviendo supuestos teórico prácticos). Cada sesión constará de explicaciones teóricas seguidas de actividades prácticas. La explicación teórica se estructurará, cada día, en dos partes de manera que se pueda practicar inmediatamente lo explicado. Durante la parte teórica se introducirán los conceptos clave y se presentarán los elementos tecnológicos más relevantes de cada tema, y durante la parte práctica se aplicarán estos conceptos a través de una serie de ejercicios propuestos. Además de los ejercicios propuestos, se sugiere que cada estudiante se plantee qué sitio web le gustaría crear para poder realizarlo por sí mismo en las sesiones finales. 7. EVALUACIÓN INSTRUMENTOS DE EVALUACIÓN CONVENIO DE COLABORACIÓN UPM-SAMSUNG Para la evaluación del alumno se sigue un tipo criterial, i.e. una evaluación que pretende determinar las competencias que posee el estudiante tras el desarrollo del proceso de aprendizaje. En este tipo de evaluación se recoge información mediante un instrumento, prueba, procedimiento o actividad para poder describir e identificar las competencias adquiridas por los estudiantes acerca de un dominio de referencia, descrito en la planificación docente inicial. Así, los criterios de evaluación deben correlacionarse con los objetivos/competencias y especificar principalmente un dominio conceptual claro, la adquisición de procedimientos, técnicas, instrumentos, habilidades y destrezas de ejecución profesional y académica, que concretan el nivel de capacidades personales y profesionales necesarias para el ejercicio profesional. En este caso los instrumentos de evaluación serán diferentes pruebas de desarrollo y la elaboración de trabajos en equipo. MOMENTOS EN LOS QUE SE REALIZARÁ LA EVALUACIÓN Los instrumentos de evaluación serán utilizados durante la todo el proceso formativo a modo de evaluación continua. Periódicamente, y como mínimo, tras concluir cada tema del bloque temático, se pedirá a los alumnos que resuelvan (individualmente) algún problema o práctica concreta, que deberán entregar para su evaluación. Un elemento fundamental de este sistema de enseñanza-aprendizaje y de la evaluación continua es el relativo a la retroalimentación permanente que reciben los estudiantes sobre el trabajo realizado. Esto se traduce en la necesidad de devolverles información precisa, objetiva e 10/11 DESARROLLO DE APLICACIONES EN ANDROID inmediata acerca de sus resultados de rendimiento, de manera que puedan monitorizar sus niveles de esfuerzo y regular su trabajo, al mismo tiempo que dicha información actúa como un elemento motivador. Con este objetivo, el profesorado deberá establecer un procedimiento de revisión de las pruebas y actividades, indicando en cada caso según sus características la forma en que se llevará a cabo, bien en la propia clase o bien en el horario de tutorías, facilitando a los estudiantes la realización de las mismas. RESPONSABLES DE LA EVALUACIÓN La responsabilidad de la evaluación recaerá principalmente en los profesores que serán los encargados de la revisión de los trabajos prácticos, si bien, los alumnos deberán responsabilizarse de los ejercicios generales que se resuelvan en clases prácticas a modo de autoevaluación. CONVENIO DE COLABORACIÓN UPM-SAMSUNG 11/11