Pla docent de l'assignatura

 

 

Tanca imatge de maquetació

 

Imprimeix

 

Dades generals

 

Nom de l'assignatura: Software Distribuït

Codi de l'assignatura: 364312

Curs acadèmic: 2021-2022

Coordinació: Carlos Borrego Iglesias

Departament: Departament de Matemàtiques i Informàtica

crèdits: 6

Programa únic: S

 

 

Hores estimades de dedicació

Hores totals 150

 

Activitats presencials i/o no presencials

60

(Per culpa de les restriccions de la Covid-19, es preveu que els alumnes puguin o bé fer totes les classes de manera presencial o bé tenir assignada una setmana presencial i una altra en línia.)

 

-  Teoria

Presencial i no presencial

 

30

 

(Presencial i no presencial)

 

-  Pràctiques de laboratori

Presencial

 

30

 

(Presencial )

Treball tutelat/dirigit

50

Aprenentatge autònom

40

 

 

Recomanacions

 


Requisits

364307 - Sistemes Operatius I (Recomanada)

364304 - Projecte Integrat de Software (Recomanada)

364308 - Sistemes Operatius II (Recomanada)

364309 - Xarxes (Recomanada)

 

 

Competències que es desenvolupen

 

   -

1G-GENERAL. Capacitat per concebre, redactar, organitzar, planificar, desenvolupar i signar projectes en l'àmbit de l'enginyeria en informàtica que tinguin per objecte, d'acord amb els coneixements adquirits en el grau, concebre, desenvolupar o explotar sistemes, serveis i aplicacions informàtiques.

   -

2G-GENERAL. Capacitat per dirigir les activitats objecte dels projectes de l'àmbit de la informàtica d'acord amb els coneixements adquirits en el grau.

   -

9aG-GENERAL. Capacitat per resoldre problemes amb iniciativa, prendre decisions, ser autònom i creatiu.

   -

7T-TRANSV. Capacitat de treballar en equip.

   -

8G-GENERAL. Coneixement de les matèries bàsiques i tecnologies, que capacitin per a l'aprenentatge i desenvolupament de tecnologies i mètodes nous, com també de les que proporcionin una gran versatilitat per adaptar-se a situacions noves.

   -

9T-TRANSV. Capacitat de dissenyar i dur a terme testos i experiments, i analitzar-ne i interpretar-ne els resultats.

   -

9bG-GENERAL. Capacitat per comunicar i transmetre els coneixements, habilitats i destreses de la professió d'enginyer tècnic en informàtica.

   -

5G-GENERAL. Capacitat per concebre, desenvolupar i mantenir sistemes, serveis i aplicacions informàtiques emprant els mètodes de l'enginyeria del programari com a instrument per assegurar-ne la qualitat d'acord amb els coneixements adquirits en el grau.

   -

4G-GENERAL. Capacitat per definir, avaluar i seleccionar plataformes de maquinari i programari per desenvolupar i executar sistemes, serveis i aplicacions informàtiques d'acord amb els coneixements adquirits durant els estudis del grau.

   -

6G-GENERAL. Capacitat per concebre i desenvolupar sistemes o arquitectures informàtiques centralitzades o distribuïdes integrant maquinari, programari i xarxes d'acord amb els coneixements adquirits en el grau.

   -

11FC - FORMACIÓ COMUNA. Coneixement i aplicació de les característiques, funcionalitats i estructura dels sistemes distribuïts, les xarxes de computadors i Internet, i disseny i implementació d'aplicacions que s'hi basen.

   -

13FC - FORMACIÓ COMUNA. Coneixement i aplicació de les eines necessàries per emmagatzemar, processar i accedir als sistemes d'informació, inclosos els basats en web.

   -

14FC - FORMACIÓ COMUNA. Coneixement i aplicació dels principis fonamentals i tècniques bàsiques de la programació paral·lela, concurrent, distribuïda i de temps real.

Objectius d'aprenentatge

 

Referits a coneixements

— Conèixer els beneficis i els riscos de la programació distribuïda.

— Comprendre l’arquitectura i el repartiment de responsabilitats d’un sistema multicapa.

— Identificar i resoldre problemes inherents a la programació distribuïda.

— Conèixer l’arquitectura d’aplicacions i serveis web.

 

Referits a habilitats, destreses

— Analitzar, dissenyar, programar i verificar sistemes distribuïts segurs utilitzant l’estat compartit i múltiples fils.

— Analitzar, dissenyar, programar i verificar sistemes distribuïts segurs utilitzant actors i pas de missatges.

— Dissenyar l’arquitectura de programari i maquinari d’un sistema distribuït.

— Ser capaç de programar protocols senzills utilitzant sòcols com a tecnologia de comunicació.

— Analitzar, dissenyar, programar i verificar sistemes client/servidor i d’igual a igual (P2P).

— Analitzar, dissenyar, programar i verificar aplicacions i serveis basats en web.

 

 

Blocs temàtics

 

1. Introducció als sistemes distribuïts. Dels terminals al cloud computing

2. Tecnologies client-servidor

3. Aplicacions web

4. Serveis web i Software as a Service (SAAS)

5. Arquitectures P2P

6. Sistemes distribuïts d’alta capacitat

 

 

Metodologia i activitats formatives

 

Les sessions de teoria inclouen la introducció de conceptes nous o tècniques noves, i exemples seleccionats que els motivin o els il·lustrin. Algunes classes teoricopràctiques es dediquen a elaborar exercicis amb la finalitat de presentar i discutir solucions a enunciats relativament simples que impliquin pocs coneixements teòrics. En general, es tracta d’exercicis triats per il·lustrar conceptes que s’han introduït prèviament.

Les sessions de laboratori es fan en paral·lel a les classes teòriques. S’aprofundeixen els aspectes més pràctics de cadascun dels conceptes vistos a la teoria. L’estudiant ha de resoldre dues pràctiques que consisteixen a programar una aplicació distribuïda de complexitat mitjana amb la supervisió personalitzada del professorat i emprant les tecnologies explicades durant el curs. Aquest procés inclou lliuraments periòdics de parts de la solució, amb la finalitat d’orientar l’estudiant en la direcció correcta.

Al llarg del curs algunes de les sessions de laboratori són avaluables (sessions de verificació o testing de pràctiques). Els lliuraments es fan a través del Campus Virtual de l’assignatura.

En el model d’ocupació del 50 %

Si la situació sanitària ho permet i es donen les condicions necessàries, es disposarà d’aproximadament un 50 % de presencialitat. Concretament, els alumnes, una setmana tindran docència presencial i una setmana seguiran l’emissió de les classes per Internet.

Es dedicarà dues hores setmanals a l’elaboració de sessions de teoria/problemes i dues hores setmanals a sessions de laboratori.

En el model d’ocupació del 100 %

La distribució de l’horari d’activitats presencials setmanals es fa de la manera següent: dues hores de classe de teoria i problemes i dues hores de pràctiques de laboratori.

 

En la mesura que sigui possible s’incorporarà la perspectiva de gènere en el desenvolupament de
l’assignatura.

 

 

Avaluació acreditativa dels aprenentatges

 

La nota de l’assignatura es calcula com la mitjana aritmètica de la part teòrica i la part pràctica:

— nota final = 0,5 * nota part pràctica + 0,5 * nota de teoria

Concretament, a la part pràctica, es faran dos lliuraments. Cada lliurament consta d’un treball compost de codi i memòria, que s’ha d’elaborar en grups de dues persones. La nota final de la part pràctica és la mitjana dels dos lliuraments:

— nota del treball pràctic = lliurament 1 * 0,5 + lliurament 2 * 0,5

La nota de la part teòrica es calcularà tenint en compte la prova de teoria final, la prova de teoria de mig curs i els problemes proposats a classe. La nota final de la part teòrica es calcula de la manera següent :

— nota de teoria = prova de teoria de mig curs * 0,4 + prova de teoria final de curs * 0,4 + problemes * 0,2


Per aprovar cal tenir més de 3,75 en cada una de les proves teòriques individuals, un 5 o més de mitjana a les proves teòriques individuals i tenir un 5 o més de mitjana entre tots els treballs pràctics.

Recuperació de proves teòriques suspeses: es poden recuperar a la prova única, a final de curs.

Recuperació de treballs pràctics: es poden recuperar a la reavaluació, mitjançant una prova de programació.

Reavaluació

En cas que es tingui suspesa amb una nota mínima de 3 la part pràctica o la part teòrica, l’alumne pot demanar una prova de reavaluació. No pot accedir a la prova de reavaluació si prèviament no s’ha presentat a la prova de final de curs.

Qualsevol intent de frau comporta l’aplicació de la normativa acadèmica general de la Universitat de Barcelona i l’inici d’un procés disciplinari. Se segueixen també les indicacions de la Facultat que estableixen que en cas que un estudiant realitzi qualsevol irregularitat que doni lloc a una variació significativa de la qualificació d’un acte d’avaluació, aquest acte serà qualificat amb un 0. En cas que es produeixi més d’una irregularitat en els actes d’avaluació d’una mateixa assignatura, la seva qualificació final serà de 0.

La Facultat també estableix que es podrà atorgar la menció de matrícula d’honor als estudiants que tinguin una qualificació igual o superior a 9,0. El nombre de matrícules d’honor no podrà ser superior al 5 % d’estudiants matriculats en una assignatura en el període lectiu corresponent, llevat que el nombre d’alumnes matriculats sigui inferior a 20, cas en què es podrà atorgar una sola matrícula d’honor. Es podrà concedir una matrícula d’honor addicional per la fracció resultant d’aplicar el 5 % d’estudiants matriculats.

 

 

Avaluació única

Per poder acollir-se a l’avaluació única, l’estudiant ho ha de sol·licitar per escrit a la Secretaria de Matemàtiques en el termini previst per la Facultat.

L’estudiant ha de fer tota la prova de recuperació a final de curs i la prova de programació. A més a més, l’alumne  ha de presentar tots els treballs pràctics i tots els problemes. Per aprovar ha de treure un 5 o més a la prova final teòrica.

Reavaluació

A partir d’un 3,5 a la prova final es té dret a una prova de reavaluació, que s’especificarà detingudament i que anul·la la nota obtinguda anteriorment.

Qualsevol intent de frau comporta l’aplicació de la normativa acadèmica general de la Universitat de Barcelona i l’inici d’un procés disciplinari.

 

 

Altres continguts

 

Programari (software) que sutilitza

— JAVA–JDK > 6.0

— Entorn integrat de desenvolupament (IDE): NetBeans o Eclipse, amb connector (plug-in) de desenvolupament web.

— Python Django i Django REST Framework