Les plataformes tecnològiques modernes incorporen, cada vegada més, dispositius mòbils autònoms (generalment, sense fils) com a components de la seva infraestructura. És el cas, per exemple, de sensors, petits robots, etc., els quals, gràcies al seu (limitat) poder de còmput i baix preu, hi estan contribuint cada dia més a la computació ubiqua. Sovint aquests dispositius tenen altres funcionalitats, i el seu ús no és exclusiu per a la infraestructura. És el cas, per exemple, de telèfons mòbils, notebooks, etc.
L'objectiu d'aquesta assignatura és introduir els estudiants en la programació d'alguns dispositius mòbils actuals per al disseny i gestió d'aplicacions d'interès social i professional, i també en la programació de la integració i interacció entre ells i amb les persones.
Professorat
Responsable
Pere Pau Vázquez Alcocer (
)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.5
Aprenentatge autònom
6
Competències
Competències Tècniques de cada especialitat
Específiques
CTE11 - Capacitat per a conceptualitzar, dissenyar, desenvolupar i avaluar la interacció persona-ordinador de productes, sistemes, aplicacions i serveis informàtics.
CTE12 - Capacitat per a la creació i explotació d'entorns virtuals, i per a la creació, gestió i distribució de continguts multimèdia.
Competències Tècniques Generals
Genèriques
CG8 - Capacitat per a l'aplicació dels coneixements adquirits i de resoldre problemes en entorns nous o poc coneguts dins de contexts més amplis i multidisciplinaris, essent capaços d'integrar aquests coneixements.
Competències Transversals
Treball en equip
CTR3 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.
Actitud adequada davant el treball
CTR5 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
Bàsiques
CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma.
Introducció i configuració de l'entorn
S'introdueix el curs i s'expliquen els detalls de l'aplicació que es farà com a exercici pràctic continuat. Es configura l'entorn de treball (hardware i software) i programació. Es realitzen exercicis amb Android i es dissenyen els primers menús i components de l'aplicació. S'instal·la un primer prototipus als dispositius.
Proveïdors de continguts i emmagatzemament
S'introdueixen alguns dels diferents proveïdors de continguts (fitxers multimèdia, calendari, etc.) i s'explica com accedir-hi. També s'expliquen les diferents opcions d'emmagatzemar dades.
Menús i bases de dades
S'ensenya l'ús de menús (d'opció, de text, etc.) i bases de dades en aplicacions per Android. En relació a les bases de dades, s'introdueix a l'estudiant en l'ús de la base de dades relacional SQLite.
Disseny i programació d'una part de l'aplicació pràctica relacionada amb aquest tema.
Fils d'execució (Threads) i intencions (Intents)
S'introdueix l'alumne en la necessitat de l'ús de fils d'execució (la seqüència més petita d'instruccions de programa que poden ser manegades independentment per un planificador del sistema operatiu) en aplicacions mòbils i en la seva programació mitjançant la classe Thead de Java i les classes gestores d'Android.
També es presenten els Intents i com utilitzar-los per a gestionar funcions bàsiques dels dispositius mòbils, com ara trucades i missatges SMS. Els Intents són descripcions abstractes d'una operació a realitzar, que faciliten la realització del lligam entre codis de diferents aplicacions en temps d'execució.
Disseny i programació d'una part de l'aplicació pràctica relacionada amb aquest tema.
Localització i mapatge
S'explica com dur a terme localització geogràfica i mapatge en Android, mitjançant la utilització del GPS (Global Positioning System) dels dispositius mòbils juntament amb les eines de MapView i Google Maps. Es simula el posicionament geogràfic i moviment dels dispositius mitjançant DDMS (Dalvik Debug Monitor Server).
Disseny i programació d'una part de l'aplicació pràctica relacionada amb aquest tema.
Introducció als gràfics 2D i 3D en dispositius Android
S'introdueixen els mètodes de disseny d'aplicacions gràfiques en 2D i 3D. Això inclou tant la definició de primitives com l'animació.
El curs s'organitza en sessions de laboratori. Aquestes sessions són totalment pràctiques. L'objectiu és aprendre a programar telèfons i altres dispositius mòbils amb Android a mesura que es desenvolupa una aplicació real. Cada setmana de curs es dedica al desenvolupament d'un tema i la corresponent component de l'aplicació.
Cadascuna de les sessions s'organitza de la següent forma: Durant els primers 30-60 minuts de classe classe es realitza una petita introducció al tema i la resta es dedica a implementar exercicis. En alguns casos, l'explicació serà una mica més llarga.
Alguns dies es demanarà la presentació dels exercicis proposats a persones o grups.
La idea és que hi hagi discussió i comentaris en aquestes presentacions.
Mètode d'avaluació
S'avaluen dos factors:
1.- Participació a classe:
- Treball setmanal: 50%. S'avaluarà amb l'entrega d'una o més pràctiques petites, o entregues parcials del projecte i tenint en compte l'assistència.
2.- Projecte final que estén els continguts dels exercicis setmanals: 50%
És necessari que els estudiants sàpiguen programar amb llenguatges orientats a objectes. El curs no té com objectiu ensenyar un llenguatge de programació concret, sinó les particularitats de la plataforma. El desenvolupament es farà en Java o Kotlin o similar, per això calen coneixements previs de, com a mínim Java.