Programació de Telèfons i Dispositius Mòbils Autònoms

Esteu aquí

Crèdits
3
Tipus
Optativa
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
CS
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.

Objectius

  1. Desenvolupament d'una App en Android
    Competències relacionades: CB9, CTR3, CTR5, CTE11, CTE12, CG8, CB6,

Continguts

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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ó.

Activitats

Activitat Acte avaluatiu


Desenvolupament d'una aplicació Android


Objectius: 1
Teoria
0h
Problemes
0h
Laboratori
21h
Aprenentatge dirigit
4.3h
Aprenentatge autònom
11h

Presentació de l'App



Setmana: 17
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
1h
Aprenentatge autònom
10h

Metodologia docent

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%

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

É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.