Guías Académicas

DESARROLLO DE APLICACIONES AVANZADAS

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

Studium

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
E-mail
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://stackover flow.com,

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