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: 2020-2021

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

(Degut a les restriccions de la Covid-19 es preveu un 25% de presencialitat aproximadament.)

 

-  Teoria

Presencial

 

30

 

(Presencial i no presencial)

 

-  Pràctiques de laboratori

Presencial

 

30

 

(Presencial i no 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

 

   -

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

   -

7T-TRANSV. Capacitat de treballar en equip.

   -

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.

   -

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

   -

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.

   -

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.

   -

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.

   -

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

   -

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.

   -

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.

   -

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.

   -

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.

   -

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 teorico-pràctiques inclouen la introducció de conceptes nous o tècniques noves, i exemples seleccionats que els motivin o els il·lustrin. Algunes classes teorico-prà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 a les sessions teorico-pràctiques més recents.

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 esperat de docència mixta:

Si la situació sanitària ho permet i es donen les condicions necessàries, es disposarà d’aproximadament un 25% de presencialitat. Concretament, es dedicarà una hora setmanal a l’elaboració de sessions online de teoria/problemes i una hora i mitja setmanal a sessions online de laboratori. Addicionalment, es celebrarà una sessió presencial d’una hora a la setmana en grups reduïts.

Per a la docència virtual es lliurarà material que l’estudiantat pot consultar de forma asíncrona i s’obriran sessions síncrones per a dinamitzar l’assignatura i/o la resolució de dubtes que puguin sorgir (i que complementin els tractats presencialment). Per tant es seguirà (en la mesura que sigui possible) una metodologia de classe invertida (o flipped classroom).

En el model de docència virtual obligada per la situació sanitària:

Els rangs horaris de la docència mixta es mantenen però tota la docència es realitzarà en format no presencial.

En el model de docència presencial:

La distribució 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.

 

 

Avaluació acreditativa dels aprenentatges

 

La nota de l’assignatura es calcula com la mitjana aritmètica de dos lliuraments pràctics i de dues proves teòriques individuals escrites, corresponents a cada tecnologia tractada, que es fan al llarg del curs. Cada lliurament pràctic consta d’un treball compost de codi i memòria, que s’ha d’elaborar en grups de dues persones.

— nota del treball pràctic = lliurament 1 + lliurament 2 
— nota de les proves teòriques = prova 1 + prova 2 
— nota final = 0,5 * nota del treball pràctic + 0,5 * nota de les proves teòriques

Per aprovar cal tenir més de 3,75 en cada una de les proves escrites individuals, un 5 o més de mitjana a les proves escrites 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ó, i també ha de presentar tots els treballs pràctics. Per aprovar ha de treure un 5 o més a la prova final.

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