Programación de Teléfonos y Dispositivos Móviles Autónomos

Usted está aquí

Créditos
3
Tipos
Optativa
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
CS
Las plataformas tecnológicas modernas incorporan, cada vez más, dispositivos móviles autónomos (generalmente, inalámbricos) como componentes de su infraestructura. Es el caso, por ejemplo, de sensores, pequeños robots, etc., los cuales, gracias a su (limitado) poder de cómputo y bajo precio, están contribuyendo cada día más a una computación ubicua. A menudo estos dispositivos tienen otras funcionalidades, y su uso no es exclusivo para la infraestructura. Es el caso, por ejemplo, de teléfonos móviles, notebooks, etc.

El objetivo de esta asignatura es introducir a los estudiantes en la programación de algunos dispositivos móviles actuales para el diseño y gestión de aplicaciones de interés social y profesional, y también en la programación de la integración e interacción entre ellos y con las personas.

Profesorado

Responsable

  • Pere Pau Vázquez Alcocer ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.5
Aprendizaje autónomo
6

Competencias

Competencias Técnicas de cada especialidad

Específicas

  • CTE11 - Capacidad para conceptualizar, diseñar, desarrollar y evaluar la interacción persona-ordenador de productos, sistemas, aplicaciones y servicios informáticos.
  • CTE12 - Capacidad para la creación y explotación de entornos virtuales, y para la creación, gestión y distribución de contenidos multimedia.

Competencias Técnicas Genéricas

Genéricas

  • CG8 - Capacidad para la aplicación de los conocimientos adquiridos y de resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y mulitidisciplinares, siendo capaces de integrar estos conocimientos.

Competencias Transversales

Trabajo en equipo

  • CTR3 - Ser capaz de trabajar como miembro de un equipo, ya sea como un miembro más, o realizando tareas de dirección con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.

Actitud frente al trabajo

  • CTR5 - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB9 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Objetivos

  1. Desarrollo de una App en Android
    Competencias relacionadas: CB9, CTR3, CTR5, CTE11, CTE12, CG8, CB6,

Contenidos

  1. Introducción y configuración del entorno
    Se introduce el curso y se explican los detalles de la aplicación que se hará como ejercicio práctico continuado. Se configura el entorno de trabajo (hardware y software) y programación. Realización de ejercicios con Android y diseño de los primeros menús y componentes de la aplicación. Instalación en los dispositivos.
  2. Proveedores de contenidos y almacenamiento
    Se introducen algunos de los diferentes proveedores de contenidos (archivos multimedia, calendario, etc.) y se explica cómo acceder. También se introducen métodos de almacenamiento.
  3. Menús y bases de datos
    Uso de menús (de opción, de texto, etc.) y bases de datos en aplicaciones para Android. Introducción a SQLite.

    Programación de una parte de la Aplicación práctica relacionada con este tema.
  4. Hilos de ejecución (Threads) e intenciones (Intents)
    Se introduce al alumno en la necesidad del uso de hilos de ejecución en aplicaciones móviles y en su programación mediante la clase Thead de Java y las clases gestoras de Android.

    También se presentan los Intentos y cómo utilizarlos para gestionar funciones básicas del dispositivos móviles, tales como llamadas y mensajes SMS. Los intentos son descripciones abstractas de una operación a realizar, que facilitan la realización del enlace entre códigos de diferentes aplicaciones en tiempo de ejecución.


    Diseño y programación de una parte de la aplicación práctica relacionada con este tema.
  5. Localización y mapeo
    Se explica cómo llevar a cabo localización geográfica y mapeo en Android, mediante la utilización del GPS (Global Positioning System) de los dispositivos móviles junto con las herramientas de MapView y Google Maps. Simulación del posicionamiento geográfico y movimiento de los dispositivos mediante DDMS (Dalvik Debug Monitor Server).

    Programación de una parte de la aplicación práctica relacionada con este tema.
  6. Introducción a los gràficos 2D y 3D en dispositivos Android
    Se introducen los métodos de diseño de aplicaciones gráficas en 2D y 3D. Esto incluye tanto la definición de primitivas como la animación.

Actividades

Actividad Acto evaluativo


Desarrollo de una aplicación Android


Objetivos: 1
Teoría
0h
Problemas
0h
Laboratorio
21h
Aprendizaje dirigido
4.3h
Aprendizaje autónomo
11h

Presentación de la App



Semana: 17
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
1h
Aprendizaje autónomo
10h

Metodología docente

El curso se organiza sesiones de laboratorio. Estas sesiones son totalmente prácticas. El objetivo es aprender a programar teléfonos y otros dispositivos móviles con Android a medida que se desarrolla una aplicación real. Cada semana de curso se dedica al desarrollo de un tema y la correspondiente componente de la aplicación.

Cada una de las sesiones se organiza de la siguiente forma: Durante los primeros 30-60 minutos de clase clase se realiza una pequeña introducción al tema y el resto se dedica a implementar ejercicios. En algunos casos, la explicación será un poco más larga.
Algunos días se pedirá la presentación de los ejercicios propuestos a personas o grupos.
La idea es que haya discusión y comentarios en estas presentaciones.

Método de evaluación

Se evalúan dos factores:

1.- Participación en clase:

- Trabajo semanal: 50%. Se evaluará con la entrega de una o más prácticas pequeñas, o entregas parciales del proyecto y teniendo en cuenta la asistencia.

2.- Proyecto final que extiende los contenidos de los ejercicios semanales: 50%

Bibliografía

Básica:

Complementaria:

Capacidades previas

Es necesario que los estudiantes sepan programar con lenguajes orientados a objetos. El curso no tiene como objetivo enseñar un lenguaje de programación concreto, sino las particularidades de la plataforma. El desarrollo se hará en Java o Kotlin o similar, por eso se necesitan conocimientos previos de, como mínimo Java.