Per cursar Programació de Dispositius Mòbils es recomana que l'estudiant tingui:
- Coneixements bàsics de programació orientada a objectes (Java, C++ o Python).
- Familiaritat amb estructures de dades i algorismes.
- Coneixements bàsics d'arquitectura client-servidor i desenvolupament web.
- Nocions bàsiques de bases de dades i accés a dades des d'aplicacions.
- Coneixements generals de disseny d'interfícies d'usuari (UI/UX) i usabilitat.
Els Resultats d'Aprenentatge d'aquesta assignatura són:
RA.01 (GI): Es poden construir aplicacions informàtiques basades en arquitectures client/servidor i web, aplicant coneixements de comunicació entre serveis i gestió de dades remotes.
RA.02 (GI): Es disposa dels coneixements necessaris i bàsics per a la utilització de patrons de disseny i bones pràctiques en el desenvolupament d'aplicacions mòbils.
RA.03 (GI): Coneixements per a la programació d'aplicacions amb accés a bases de dades i gestió de persistència local i remota.
RA.04 (GI): Coneixements per a la programació d'aplicacions per iOS amb accés al hardware i funcionalitats del dispositiu (geolocalització, sensors, notificacions, etc.).
RA.05 (TG): Es disposa de coneixements d'usabilitat i interacció home-màquina per a la pràctica del disseny centrat en l'usuari (UI/UX) i la seva aplicació en projectes pràctics.
RA.06 (TG): Capacitat per treballar en equip i gestionar projectes tecnològics sota metodologies d'Aprenentatge Basat en Projectes (PBL).
L'assignatura s'estructura en cinc blocs de contingut, amb una progressió lògica i pràctica que permet a l'estudiant adquirir una visió completa del desenvolupament d'aplicacions iOS:
1- Introducció a l'entorn de desenvolupament iOS
Configuració de Xcode i del simulador.
Creació del primer projecte.
Estructura bàsica d'una aplicació iOS.
2- Llenguatge de programació Swift
Fonaments del llenguatge: tipus, estructures de control, funcions i classes.
Programació orientada a objectes i protocols.
Gestió de col·leccions, opcionals i closures.
3- Components fonamentals de la interfície
Vistes i controladors.
Ús de UITableView, UICollectionView i navegació entre pantalles.
Principis de disseny i usabilitat (UI/UX).
4- Integració amb el sistema i serveis
Permisos, MapKit, sensors i accés al maquinari.
Persistència de dades (UserDefaults, Core Data, bases de dades externes).
Notificacions locals i push.
Activitats en viu i HealthKit.
5- Desenvolupament avançat i tendències actuals
Gestió de dependències amb Swift Package Manager.
Introducció a SwiftUI com a alternativa moderna de desenvolupament d'interfícies.
Bones pràctiques, patrons de disseny i publicació a l'App Store.
L'assignatura combina classes magistrals, sessions pràctiques de laboratori i treball autònom de l'estudiant, sota una metodologia d'Aprenentatge Basat en Projectes (PBL).
Durant el semestre, l'estudiant participa en 14 sessions presencials de 3 hores cadascuna, que combinen teoria, pràctica guiada i desenvolupament del projecte final.
- La primera hora de cada setmana es dedica a classes magistrals i casos d'ús per introduir els nous conceptes.
- Les dues hores següents es destinen a sessions pràctiques, on els estudiants apliquen els coneixements adquirits mitjançant exercicis, hands-on labs i petits projectes individuals.
- Es realitzen projectes individuals i en parella, així com un projecte final en grup de dues persones, que consolida totes les competències en el desenvolupament d'una aplicació completa per a iOS.
- En alguns moments del curs s'aplica la metodologia Self-Paced Learning, en què l'estudiant ha de cercar i aprendre nous continguts de manera autònoma amb l'orientació del professor.
Aquesta metodologia promou l'autonomia tecnològica, el treball col·laboratiu i l'aplicació pràctica dels conceptes, reproduint l'entorn real del desenvolupament professional d'aplicacions mòbils.
L'avaluació de l'assignatura és contínua i combina el treball pràctic setmanal amb un projecte final de desenvolupament d'una aplicació iOS.
La nota final es calcularà segons la fórmula següent:
Nota final = 40% × (mitjana d'exercicis pràctics) + 60% × nota del projecte final
Per poder aplicar aquesta fórmula, és obligatori lliurar i aprovar tots els exercicis individuals (hands-on labs) i la pràctica final.
En cas contrari, l'assignatura es considerarà no superada.
- Exercicis individuals (40%): petites pràctiques setmanals per aplicar els coneixements de cada bloc. Es valoren la funcionalitat, l'estil del codi, la comprensió tècnica i la capacitat de resolució de problemes.
- Projecte final (60%): desenvolupament en parelles d'una aplicació iOS completa que integri els continguts del curs (UI, dades, hardware, notificacions, etc.). Es valora l'arquitectura, el disseny, la funcionalitat, la documentació i la presentació.
Convocatòria extraordinària:
En cas de no haver lliurat o d'haver suspès algun exercici o projecte, l'estudiant haurà de reentregar un projecte complet d'iOS que compleixi amb tots els requisits setmanals. En aquest cas, la nota màxima que es podrà obtenir serà un 7.
Els treballs s'han de lliurar segons les normes de presentació i originalitat establertes: s'han de pujar a eStudy, no s'accepten entregues per correu electrònic i qualsevol indici de plagi comportarà la suspensió automàtica.
L'avaluació es basa en la realització d'exercicis pràctics setmanals i un projecte final en grup que integra tots els continguts de l'assignatura.
Es valorarà especialment:
- La correcció funcional de les pràctiques i del projecte final.
- La qualitat del codi, les bones pràctiques i l'estructura del projecte.
- El disseny d'interfície (UI/UX) i l'experiència d'usuari.
- La capacitat de resolució de problemes i autonomia tècnica.
- La participació activa i el treball en equip durant el desenvolupament del projecte.
Apple Inc. (2024). Swift Resources - Apple Developer. Disponible a: https://developer.apple.com/swift/resources/
Apple Inc. (2024). Human Interface Guidelines - Recursos de disseny per a iOS. Disponible a: https://developer.apple.com/design/human-interface-guidelines/
Neuburg, M. (2023). Programming iOS 16: Dive Deep into Views, View Controllers, and Frameworks. O'Reilly Media.
Ackerman, S. (2023). Swift for Absolute Beginners: Learn to Develop iOS Apps. Apress.
Apple Inc. (2024). Documentació d'Xcode. https://developer.apple.com/documentation/xcode/
Apple Inc. (2024). Tutorials i documentació de SwiftUI. https://developer.apple.com/tutorials/swiftui
Equip Raywenderlich (2023). iOS Apprentice: Beginning iOS Development with Swift. Razeware LLC.