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