Guía Docente 2019-20
DESARROLLO EN LA PLATAFORMA IOS: IPHONE - IPAD

DATOS BÁSICOS DE LA GUÍA DOCENTE:

Módulo: DESARROLLO EN LA PLATAFORMA IOS: IPHONE - IPAD
Identificador: 31062
Titulación: MÁSTER UNIVERSITARIO EN TECNO. SOFTWARE AVANZADAS PARA DISP. MÓV. PLAN 2012
Tipo: OBLIGATORIA
Créditos: 4 Horas totales: 100
Actividades Presenciales: 25 Trabajo Autónomo: 75
Profesor: Correo electrónico:

PRESENTACIÓN:

Este curso es una introducción a la programación de aplicaciones "nativas" para sistemas iOS, iPhone y iPad. Además de una visión general al sistema de desarrollo, herramientas y lenguajes, se presentan las tecnologías avanzadas que permiten implementar funciones complejas en estos dispositivos.
 
De forma resumida, el estudiante aprenderá: a utilizar Xcode, el lenguaje de programación Objetive-c / Swift, a utilizar los principales frameworks de Apple, especialmente los elementos del UIKit. Se prestará especial atención a los modelos estándares de diseño de aplicaciones en este sistema: MVC, Delegación, Protocolos y Bloques.
 
 

COMPETENCIAS PROFESIONALES A DESARROLLAR EN LA MATERIA:

Competencias Generales de la titulación G01 Capacidad de análisis y síntesis.
G02 Capacidad para analizar y resolver problemas en su ámbito profesional.
G05 Capacidad de aprendizaje continuado, autodirigido y autónomo.
G07 Capacidad de trabajar de manera autónoma.
G12 Capacidad para saber comunicar (de forma oral y escrita) a públicos especializados y no especializados de un modo claro y sin ambigüedades.
Competencias Específicas de la titulación E01 Capacidad para diseñar, desarrollar e implementar aplicaciones móviles avanzadas en diferentes plataformas de dispositivos móviles.
E02 Capacidad para evaluar, seleccionar y aplicar frameworks y patrones de diseño en la implementación de aplicaciones móviles.
Resultados de Aprendizaje R01 Escribir programas escritos en lenguaje Objective C entendiendo las complejidades de la gestión eficiente de memoria.
R02 Aplicar patrones de diseño en sus aplicaciones para iPhone o iPad
R03 Diseñar interfaces de usuario iOS, tanto para iPhone como para iPad
R04 Diseñar aplicaciones iOS multitarea que ofrecen servicios a otros programas o que usan servicios de otros programas externos.

REQUISITOS PREVIOS:

Se requiere un profundo conocimiento de los conceptos comunes a cualquier sistema de programación basado en objetos, protocolos o interfaces, valores, clases y herencia.

Los conocimientos que aporte el alumno sobre desarrollo de aplicaciones con interfaces gráficos de usuario supondrán siempre una ventaja para el aprendizaje.

PROGRAMACIÓN DE LA MATERIA:

Contenidos de la materia:

1 - Introducción y conceptos básicos
    1.1 - Xcode y otras herramientas
    1.2 - Lenguaje Objetive-c / Swift
    1.3 - UIKit y MVC
2 - UIKit avanzado
    2.1 - Layouts, views y constraints
    2.2 - Table Views avanzadas
    2.3 - Navigation Controller y Tab View Controllers
3 - Persistencia de datos
    3.1 - Plist, Coders y decoders
    3.2 - User defaults
4 - Comunicaciones (Http)
    4.1 - Acceso a servicios web
    4.2 - Comunicación y asincronía
    4.3 - Modo desconectado: estrategias
5 - Otros Frameworks
    5.1 - Acceso a Agenda
    5.2 - Mapas y Geolocalización
    5.3 - Gráficos
    5.4 - Otros
6 - App Store
    6.1 - Certificados y publicación
    6.2 - In App Purchase
7 - Concurrencia
    7.1 - Bloques, operaciones y colas
    7.2 - GCD

La planificación de la asignatura podrá verse modificada por motivos imprevistos (rendimiento del grupo, disponibilidad de recursos, modificaciones en el calendario académico, etc.) y por tanto no deberá considerarse como definitiva y cerrada.


METODOLOGÍAS Y ACTIVIDADES DE ENSEÑANZA Y APRENDIZAJE:

Metodologías de enseñanza-aprendizaje a desarrollar:

Para lograr el desarrollo de las competencias establecidas en la asignatura, las sesiones se plantean de la siguiente manera:

Clase magistral de transmisión de contenidos a través de la exposición oral con el apoyo de las TIC. Durante la exposición se podrán plantear preguntas o situaciones problemáticas sobre un tema, introducir pequeñas actividades prácticas, resolver las dudas que puedan plantearse, presentar informaciones incompletas, orientar la búsqueda de información, fomentar el debate individual o en grupo, etc.

La estrategia metodológica central a utilizar será el aprendizaje cooperativo, donde los estudiantes trabajarán en grupo de dos personas en actividades de aprendizaje con metas comunes. Se evaluará la productividad del grupo. Dentro de esta modalidad de aprendizaje se aplicará el aprendizaje orientado a proyectos.

Los estudiantes dispondrán de foros en la PDU para la resolución de dudas y problemas por parte del profesor. Además, a través de plataforma virtual y previa petición de hora, podrán solicitar del profesor una tutoría personalizada.

Volumen de trabajo del alumno:

Modalidad organizativa Métodos de enseñanza Horas estimadas
Actividades Presenciales
Clase magistral 12,5
Prácticas de laboratorio 12,5
Trabajo Autónomo
Realización de proyectos 25
Lecturas obligatorias 25
Preparación de prácticas de laboratorio 25
Horas totales: 100

SISTEMA DE EVALUACIÓN:

Obtención de la nota final:

Trabajos prácticos (individuales o grupales): 50 %
Exámenes. Pruebas de elaboración de respuestas: 40 %
Exposiciones: 10 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.

BIBLIOGRAFÍA Y DOCUMENTACIÓN:

Bibliografía básica:

Apple Inc. iOS App Programming Guide.
Apple Inc. Programming with Objective-C.
Apple Inc. The Swift Programming Language

Bibliografía recomendada:

Páginas web recomendadas:


* Guía Docente sujeta a modificaciones