DESARROLLO DE APLICACIONES AVANZADAS
GRADO EN INGENIERÍA INFORMÁTICA
Curso 2024/2025
1. Datos de la asignatura
(Fecha última modificación: 05-06-24 14:07)- Código
- 101136
- Plan
- ECTS
- 6.00
- Carácter
- OPTATIVA
- Curso
- 4
- Periodicidad
- Primer Semestre
- Idioma
- ESPAÑOL
- Área
- LENGUAJES Y SISTEMAS INFORMÁTICOS
- Departamento
- Informática y Automática
- Plataforma Virtual
Datos del profesorado
- Coordinador/Coordinadora
- Luis Augusto Silva
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Ciencia de la Computación e Inteligencia Artific.
- Despacho
- F3017
- Horario de tutorías
- Horario de tutorías Solicitar por correo electronico.
- URL Web
- URL Web https://produccioncientifica.usal.es/investigadores/193138/detalle
- luisaugustos@usal.es
- Teléfono
- 923294500 Ext. 6082
2. Recomendaciones previas
Es requisito indispensable aprobar previamente las asignaturas de Programación (I, II y III).
Se recomienda cursar anteriormente la asignatura Interfaces Gráficas.
Parte de la bibliografía que se aporta, y la mayor parte de las información que aparece en Internet, está escrita en Inglés.
3. Objetivos
Tomando como base los conocimientos previos del alumno, y propios de quien aborda una asignatura relacionada con el diseño de aplicaciones avanzadas, se pretende estudiar y poner en práctica los algoritmos de utilización propios de aplicaciones dotadas de GUI, muy especialmente en el caso de un escritorio táctil. El alumno recibe la formación necesaria para comprender los procesos subyacentes cuando se hace uso de la tecnología móvil actual, y aplica concretamente esa formación para construir aplicaciones iOS.
Como parte importante de la asignatura, se ponen de manifiesto los aspectos relacionados con la usabilidad de una aplicación, y se tienen en cuenta las especiales posibilidades que aporta una plataforma móvil (acelerómetros, GPS, acceso a Internet). Estas posibilidades forman parte de un API muy extenso (aproximadamente 100 frameworks), que se estudia de forma detallada con objeto de posibilitar el futuro estudio de otras partes del API.
4. Competencias a adquirir | Resultados de Aprendizaje
Básicas / Generales | Conocimientos.
CB3, CB4, CB5
Específicas | Habilidades.
Comunes: CC1, CC6, CC7, CC8, CC14, CC16, CC17
De tecnología específica: TI3, TI6, C02, C03, C05, C06
Transversales | Competencias.
CT1, CT3, CT8, CT9, CT12, CT16, CT21, CT22
5. Contenidos
Teoría.
1. Una plataforma GUI alternativa
1.1.- El lenguaje de programación Objective-C
1.2.- Orígenes. Creación de Clases. Propiedades.
1.3.- Protocolos. Categorías.
1.3.- Tratamiento de cadenas. Colecciones.
1.4.- Cocoa. La arquitectura MVC
1.5.- Primeros pasos. Interface builder.Acciones, Conexiones y Blancos.
1.6.- Vistas. Controladores. La biblioteca de objetos.
1.7.- Delegados. Sandboxing si o no.
1.8.- Ejercicios
2.- Desarrollo de aplicaciones para dispositivos móviles
2.1.- Cocoa Touch. Primeros pasos. El emulador de iOS. iPhone. iPad.
2.2.- Vistas. Controladores. La biblioteca de objetos. Delegados.
2.3.- Acelerómetros. Mapas. Sandboxing.
2.4.- Otros frameworks
2.5.- Intercambio de información. Interoperabilidad.
2.6.- Ejercicios
3.- Distribución de software
3.1.- Internacionalización.
3.2.- Instalación
3.3.- AppStore. Provisioning Certificate.
3.4.- Submission. Publicación. Actualización.
3.5.- Ejercicios
6. Metodologías Docentes
Las actividades formativas que se proponen para esta materia son las siguientes:
Actividades presenciales:
Lección magistral: exposición de teoría y resolución de problemas
- Seminarios tutelados para grupos pequeños
- Sesiones de tutorías
- Exposición de trabajos y pruebas de evaluación
Actividades no presenciales:
- Estudio autónomo por parte del estudiante
- Revisión bibliográfica y búsqueda de información
- Realización de un trabajo.
7. Distribución de las Metodologías Docentes
8. Recursos
Libros de consulta para el alumno.
Swift Programming: The Big Nerd Ranch Guide (2nd Edition) Mathias M. and Gallagher J.
iOSProgramming: The Big Nerd Ranch Guide (6th Edition) Keur, C. and Hillegass, A.
Cocoa Programming for Mac OS X (5th Edition) Hillegass, A., Preble A. and Chandler N.
Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.
9. Evaluación
Criterios de evaluación.
Evaluación continua: tiene como objetivo facilitar un aprendizaje progresivo, evitando que el alumno aborde su aprendizaje de manera puntual, tanto en los aspectos teóricos como en los prácticos. Se llevará a cabo mediante dos controles (en papel) de contenido teórico-práctico y está destinada a comprobar la comprensión de contenidos teóricos, y especialmente la capacidad del alumno para aplicar esos conceptos en la construcción de programas. Tendrá un peso conjunto del 30% respecto a la calificación final (cada control tiene un peso del 15% o 1,5 puntos).
Práctica final: Se propondrá al alumno la realización de una práctica final, que implemente un proyecto completo, destinado a comprobar la correcta comprensión de los conceptos estudiados a lo largo del curso. El proyecto se implementará en Swift, empleando el IDE especificado. Tendrá un peso del 30% respecto a la nota total. Este proyecto se entrega a través de Studium.
Examen final: El alumno debe responder a una varias preguntas relacionadas con la práctica final, cuyo objetivo es comprobar la correcta comprensión de los materiales estudiados a lo largo del curso. Tendrá un peso del 40% respecto a la nota total.
Para poder aprobar la asignatura se exigirá una nota mínima de 3 sobre 10 en cada una de las tres partes consideradas.
Sistemas de evaluación.
Evaluación continua: se llevará a cabo mediante la realización de ejercicios propuestos en las clases de teoría y práctica. Los ejercicios se realizarán y entregarán en clase, por escrito en el caso de teoría y a través de la plataforma Studium en el caso de prácticas.
Examen de teoría y problemas: se realizará por escrito, y estará formado por una colección de cuestiones teóricas y prácticas con pesos ponderales aproximadamente equivalentes. Las cuestiones abordarán los conceptos, técnicas y lenguajes de programación estudiados. Realización y defensa de prácticas, trabajos o proyectos: se evaluará con especial atención al rigor teórico de lo construido a lo largo de todo el curso completo. El profe sor podrá proponer uno o más temas, y especificar el lenguaje o lenguajes utilizados en el trabajo
Recomendaciones para la evaluación.
Evaluación continua: se prestará especial atención a un trabajo continuado por parte del alumno, que deberá respetar los plazos de entrega (distribuidos de tal modo que se vayan tratando todas las partes del curso a medida que este avanza).
Realización de exámenes de teoría y problemas: se prestará especial atención a comprobar la correcta comprensión de los temas estudiados a lo largo del curso.
Realización y defensa de prácticas: Salvo indicación expresa del profesor, éstas se realizarán y calificarán de forma individual. La defensa es potestativa del profesor.
- Evaluación continua (entragas y/o controller): 40%
- Proyecto final: 60%
La nota final de las asignatura se obtendrá de forma ponderada a través de las notas finales conseguidas en los apartados anteriores
Recuperación:
Evaluación continua: no se contempla su recuperación. La nota obtenida se mantendrá a efectos de la segunda convocatoria.
Realización de exámenes de teoría y de prácticas: se recomienda encarecidamente realizar los ejercicios solicitados en las clases prácticas y en el proyecto final.