DESARROLLO DE APLICACIONES AVANZADAS
Doble Titulación de Grado en Estadística y en Ingeniería Informática
Curso 2025/2026
1. Datos de la asignatura
(Fecha última modificación: 25-06-25 12:04)- Código
- 101136
- Plan
- ECTS
- 6
- Carácter
- Curso
- 5
- 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
- G2004 – Edificio Ciencias, escaleras junto a conserjería
- Horario de tutorías
- Solicitar por correo electrónico.
- URL Web
- URL Web https://produccioncientifica.usal.es/investigadores/193138/detalle
- luisaugustos@usal.es
- Teléfono
- 923294500 Ext. 6082
2. Recomendaciones previas
Como tal, esta asignatura es la continuación natural de Interfaces Gráficas, que sienta sus bases. Se recomienda cursar esta asignatura después de aprobar Interfaces Gráficas, aunque con cierto esfuerzo es posible abordarla de manera independiente. A su vez, Interfaces Gráficas requiere haber cursado y aprobado previamente Programación III, por cuanto está basada en la metodología orientada a objetos
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.
TI3, TI6, C02, C03, C05, C06
Transversales | Competencias.
CC1, CC6, CC7, CC8, CC14, CC16, CC17
5. Contenidos
Teoría.
La relación de temas que se presenta es aproximada, y dependen del rápido desarrollo de la plataforma. Es de suponer que los elementos fundamentales no cambien excesivamente.
1. Descripción general de la plataforma: Mac OS, iOS, iPad OS, tv OS, Watch OS
1.1.- El lenguaje de programación Swift
1.2.- Playgrounds (mac OS, iOS)
1.3.- Funciones, Clases, Métodos, Protocolos.
1.4.- Extensiones.
1.5.- Cadenas. Colecciones. Programación Funcional.
1.6.- Persistencia. Parsing.
1.7.- Ejercicios
2.- Desarrollo de aplicaciones para dispositivos móviles con SwiftUI
2.1.- Introducción a SwiftUI: vistas declarativas y estado de la UI
2.2.- Navegación y paso de datos entre pantallas
2.3.- Diseño adaptable con Layouts: HStack, VStack, Grid
2.4.- Patrón MVVM y gestión del estado
2.5.- Persistencia con CoreData y SwiftData
2.6.- Consumo de APIs REST
2.7.- Accesibilidad, widgets y notificaciones básicas
2.8.- 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
- Realización de prácticas guiadas en laboratorio
- Sesiones de tutoría
- 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 trabajos
Para esta materia las actividades formativas presenciales, que implican una interacción profesor-estudiante, suponen el 40% de los créditos ECTS. En las asignaturas la distribución temporal asignada a cada actividad se corresponde con el modelo de tipo C (modelos presentados en el apartado 5.1 de la memoria del Grado).
El contenido teórico de las materias presentado en las clases magistrales junto con su aplicación en las clases de problemas y las prácticas guiadas facilitará la asimilación de las competencias anteriormente descritas. En las sesiones y seminarios tutelados se resolverán las dudas y el trabajo personal permitirá afianzar dichas competencias.
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.
Se recomienda consultar la amplia bibliografía disponible en www.raywenderlich.com.
Otra opción interesante son los libros de Michael Kofler editados por Rheinwerk Computing.
Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.
http:/developer.apple.com
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: 30%
Realización de exámenes de teoría o problemas: 70%
La nota final de las asignaturas se obtendrá de forma ponderada a través de las notas finales conseguidas en los apartados anteriores.
Evaluación continua: se prestará especial atención a un trabajo continuado por parte del alumno, los controles están distribuidos de tal modo que se vayan tratando todas las partes del curso a medida que este avanza.
Examen final: se prestará especial atención a comprobar la correcta comprensión de los temas estudiados a lo largo del curso.
Práctica final: Se realizarán y calificarán de forma individual. La defensa es potestativa del profesor.
Recuperación:
Evaluación continua: no se contempla su recuperación. La nota obtenida en evaluación continua se mantendrá a efectos de la segunda convocatoria.
Examen final: se recomienda encarecidamente realizar los ejercicios indicados en las clases prácticas y en el trabajo final, puesto que este tipo de ejercicio formará parte del examen final