Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Ana Beatriz Pérez Zapata

Trimestre: Segon trimestre

Crèdits: 6

Professorat: 

Enric Sesa Nogueras

Idiomes d'impartició


  • Català

Les classes són en català. La major part de la documentació (inclosos els enunciats de pràctiques i exàmens) són en anglès. 

Competències


Competències bàsiques
  • B2_Que els estudiants sàpiguen aplicar els seus coneixements a la seva feina o vocació d'una forma professional i tinguin les comptències que demostren mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi

     

  • B5_Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

     

Competències específiques
  • EFB5_Coneixement de l'estructura, organització, funcionament i interconnexió dels sistemes informàtis, els fonaments de la seva programació i la seva aplicació per a la resolució de problemes propis de l'enginyeria

     

  • EIS1_Capacitat per a desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari i que es comportin de forma fiable i eficient, siguin assequibles de desenvolupar i mantenir i compleixin normes de qualitat, aplicant les teories, principis, mètodes i pràctiques de l'enginyeria del software

     

  • EIS4_Capacitat d'identificar i analitzar problemes i dissenyar, desenvolupar, implementar, verificar i documentar solucions software sobre la base d'un coneixement adequat de les teories, models i tècniques actuals

     

Competències transversals
  • T1_Que els estudiants coneixin un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit, d'acord amb les necessitats que tindran les graduades i els graduats a cada titulació

     

Descripció


En aquesta assignatura s'introdueixen, des d'una vessant eminentment pràctica, els conceptes, problemes i pràctiques  més rellevants de la programació concurrent.

Aquesta assignatura s'hauria de cursar després d'haver superat l'assignatura Sistemes Operatius.

L'aula (física o virtual) és un espai segur, lliure d'actituds masclistes, racistes, homòfobes, trànsfobes i discriminatòries, ja sigui cap a l'alumnat o cap al professorat. Confiem que entre totes i tots puguem crear un espai segur on ens puguem equivocar i aprendre sense haver de patir prejudicis d'altres. 

Continguts


1.- Conceptes fonamentals

  • Programes, procesos, i fils
  • Parel·lelisme vs. concurrència
  • Arquitectures

2.- Implementació de procesos i fils

  • Fils en Java: la classe Thread i la interfície Runnable
  • Cicle de vida d'un fil

3.- Interferència i el problema de la secció crítica

  • Interferència
  • Exclusió mútua
  • Algorismes que garanteixen l'exclusió mútua

4.- Eines

  • Test & Set
  • Semàfors
  • Monitors

5.- Deadlock, safety & liveness

6.- Sistemes distribuits

Sistema d'avaluació


La qualificació final de l’assignatura (QF) es calcularà en funció de la qualificació de les pràctiques de laboratori (Pr, 50%) i d'un examen final (Ex, 50%)

 

QF = Ex si Ex< 5

QF = 0.5·Ex + 0.5·Pr si Ex >= 5


Els estudiants amb QF < 5 podran realitzar un examen de recuperació que substituirà la primera qualificació Ex  en el càlcul de QF. En cas d'haver de fer l'examen de recuperació, les qualificacions finals en l'interval [5, 7.5) seran arrodonides a 5. Les qualificacions finals en l'interval [7.5, 10] seran arrodonides a 7.

Les pràctiques representen una única activitat, composta de diversos apartats que tenen lliuraments distribuïts durant el trimestre. 

Les pràctiques no són recuperables. 


Es responsabilitat de l'alumne evitar el plagi en totes les seves formes. En el cas de detectar un plagi, independentment del seu abast, en alguna activitat avaluativa (incloses les pràctiques), s'aplicarà la normativa d'avaluació vigent i el règim disciplinari. En el cas concret de les pràctiques cal tenir present que aquestes són considerades una única activitat de manera que el frau en un lliurament serà considerat frau a tota l'activitat. A més, el professor comunicarà a la Direcció del centre la situació per a que en prengui les mesures  aplicables en matèria de règim sancionador. En el context d'aquesta assignatura, plagi també significa utilitzar i/o adaptar codi que no s'hagi desenvolupat de manera totalment individual (o en el si del grup en el cas d'activitats grupals). Facilitar el codi que dóna lloc al plagi és també una forma de plagi i serà tractat de la mateixa manera. De manera resumida podem dir que les activitats avaluatives s'han de resoldre de manera estrictament no col·laborativa (en el cas d'activitats en grup la col·laboració no pot transcendir el si del grup). L'ús d'intel·ligències artificials generatives està prohibit a no ser que explícitament s'indiqui el contrari. Tindrà el mateix tractament que el frau per plagi. 

 

Bibliografia


Bàsic

Ben-Ari, Mordechai. Principles of concurrent and distributed programming. 2006. Essex: Pearson, 2006. ISBN 9780321312839.

Palma Méndez, José Tomás et al,. Programación concurrente. Madrid: International Thomson, 2003. ISBN 8497321847.

Complementary

Magee, Jeff; Kramer, Jeff. Concurrency : state models & Java programs. 2nd ed. Chichester: John Wiley & sons, 2006. ISBN
0470093552.