Gestión Académica

Universidad de Oviedo

Uniovi.es | Inicio | Buscador | Mapa Web

| |

Grado en Ingeniería Informática en Tecnologías de la Información
GIITIN01-3-008
Sistemas Distribuidos
Descripción General y Horario Guía Docente

Coordinador/es:

JOSE LUIS DIAZ DE ARRIBA
jldiazuniovi.es

Profesorado:

Darío González Lema
gonzalezdariouniovi.es
(English Group)
JOSE LUIS DIAZ DE ARRIBA
jldiazuniovi.es
MARCO ANTONIO GARCIA TAMARGO
marcouniovi.es

Contextualización:

La asignatura "Sistemas Distribuídos" se ubica en el segundo semestre del tercer curso y desarrolla parte de las competencias específicas comunes a la rama informática, dentro de la materia "Redes y Servicios" (RS), en el módulo "Sistemas y Servicios" (SS). El resto de las competencias específicas de la materia RS son cubiertas por la asignatura "Redes de Computadores" que se imparte en el mismo curso, en el semestre anterior.

Las competencias adquiridas le permitirán al alumno comprender las dificultades y retos del diseño de un sistema distribuído, las arquitecturas más comúnmente utilizadas en los mismos. Asimismo el alumno conocerá y será capaz de utilizar algunas de las tecnologías más comúnmente usadas para el diseño e implementación de los sistemas distribuídos.

Estas competencias se desarrollan a través de tres tipos de actividad presencial: clases expositivas, prácticas de aula y prácticas de laboratorio, y otras actividades no presenciales, como el tiempo estudio del alumno, y la realización de trabajos individuales y en grupo. El calendario se organiza de modo que el alumno recibe dos horas semanales en el aula (una de ellas de clases expositivas y la otra varía entre clases expositivas y prácticas de aula, según el calendario), y otras dos horas semanales de prácticas de laboratorio.

Requisitos:

Aunque la asignatura no impone requisitos previos, se recomienda que el alumno haya cursado la asignatura de "Redes de Computadores" y "Sistemas Operativos", así como tener un conocimiento práctico importante de los lenguajes de programación explicados en "Fundamentos de Informática", "Introducción a la programación" y "Metodología de la programación", como mínimo, y un conocimiento teórico sólido del funcionamiento de un computador y la representación binaria de la información (como el adquirido en la asignatura "Fundamentos de Computadores y Redes").

Competencias y resultados de aprendizaje:

Una vez cursada y asimilada la asignatura el alumno adquirirá las siguientes competencias, extraídas de la memoria de la titulación:

De la competencia  ECR11   (Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas) se cubren en particular las siguientes sub-competencias:

ECR11.1    Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos.

ECR11.4    Diseñar e implementar aplicaciones basadas en Sistemas Distribuidos, Redes de Computadores e Internet

De la competencia ECR14 (Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real) se cubren en particular la siguiente sub-competencia:

ECR14.2    Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación distribuida.

Las competencias anteriores se desarrollan y particularizan en varios objetivos de aprendizaje que se desglosan a continuación:

ECR11.1

RS1         Conocer las arquitecturas, funcionalidades y problemáticas de los sistemas distribuidos. Este resultado se evaluará fundamentalmente mediante pruebas de teoría escritas.

ECR11.4

RS4         Conocer los servicios de infraestructura de los sistemas distribuidos para diseñar e implementar aplicaciones basadas en ellos. Este resultado se evaluará fundamentalmente mediante pruebas escritas y prácticas de laboratorio individuales.

ECR14.2

RS5         Conocer y aplicar los principios fundamentales de desarrollo de sistemas distribuidos  como la sincronización y la adaptación de datos y las técnicas  básicas de programación de los mismos. Este resultado se evaluará fundamentalmente mediante pruebas escritas y trabajos en grupo.

Contenidos:

Los contenidos de la asignatura se estructuran en las 5 lecciones de teoría y 5 de prácticas de laboratorio indicadas a continuación:

Teoría

T- 1.     Introducción a los sistemas Distribuidos.

T- 2.     Mecanismos de comunicación (Comunicación entre procesos, Codificación de la información, Invocación Remota, Colas de mensajes, Encapsulado HTTP)

T- 3.     Estándares y arquitecturas de sistemas de distribuidos (Servicios Web, arquitecturas descentralizadas)

T- 4.     Servicios de Infraestructura (Localización. Nombrado. Tiempo y coordinación/sincronización. Replicación y federación. Transacciones Distribuidas. Tolerancia a fallos y recuperación. Seguridad)

T- 5.     Tecnologías emergentes (Introducción al Grid. Introducción al Cloud Computing).

Prácticas

P- 1.     Introducción a un entono de desarrollo de sistemas distribuidos.

P- 2.     Prácticas de comunicación entre procesos (sockets, concurrencia, RPCs).

P- 3.     Prácticas de estándares y arquitecturas (Servicios Web, p2p).

P- 4.     Prácticas con servicios de infraestructura (coordinación, seguridad).

P- 5.     Práctica con tecnologías emergentes.

Metodología y plan de trabajo:

Las actividades docentes del curso son de tipo presencial y no presencial. Las horas presenciales corresponden a actividades tanto de tipo expositivo como prácticas de aula, prácticas de laboratorio y tutorías grupales. En la parte no presencial el tiempo se dedicará al estudio de los conceptos teóricos y sobre todo al desarrollo de los trabajos individuales y en grupo realizados por los alumnos.

 

 

 

TRABAJO PRESENCIAL

TRABAJO NO PRESENCIAL

Contenidos

Horas totales

Clase Expositiva

Prácticas de aula /Seminarios/ Talleres

Prácticas de laboratorio /aula de  informática

Prácticas clínicas  hospitalarias

Tutorías grupales

Prácticas  Externas

Sesiones de Evaluación

Total

Trabajo grupo

Trabajo autónomo

Total

T1

7

3

 

 

 

 

 

 

3

 

4

4

T2

24

8

4

 

 

 

 

 

12

 

12

12

T3

7

2

1

 

 

 

 

 

3

 

4

4

T4

14

4

2

 

 

 

 

 

6

 

8

8

T5

4

1

1

 

 

 

 

 

2

 

2

2

P1

6

 

 

4

 

 

 

 

4

 

2

2

P2

28

 

 

12

 

 

 

 

12

 

16

16

P3

10

 

 

4

 

 

 

 

4

 

6

6

P4

12

 

 

6

 

 

 

 

6

 

6

6

P5

7

 

 

2

 

 

 

 

2

 

5

5

Trabajo en grupo

27

 

 

 

 

2

 

 

2

25

 

25

Evaluación

4

 

 

 

 

 

 

4

4

 

 

0

Total

150

18

8

28

0

2

0

4

60

25

65

90

 

MODALIDADES

 

Horas

%

Presencial

Clases Expositivas

18

12,00%

 

Práctica de aula / Seminarios / Talleres

8

5,33%

 

Prácticas de laboratorio / campo / aula de informática / aula de idiomas

28

18,67%

60h

Prácticas clínicas hospitalarias

0

0,00%

(40%)

Tutorías grupales

2

1,33%

 

Prácticas Externas

0

0,00%

 

Sesiones de evaluación

4

2,67%

 

No presencial

Trabajo en Grupo

25

16,67%

90h

Trabajo Individual

65

43,33%

(60%)

 

Total

150

   

De forma excepcional, si las condiciones sanitarias lo requieren, se podrán incluir actividades de docencia no presencial. En cuyo caso, se informará al estudiantado de los cambios efectuados. 

Evaluación del aprendizaje de los estudiantes:

Convocatoria ordinaria:

En convocatoria ordinaria la evaluación será de tipo continuo, y se llevará a cabo mediante tres tipos de prueba, siendo el peso de cada una el que se detalla entre paréntesis:

  1. Pruebas escritas sobre los contenidos teóricos (40%). Estas pruebas se realizarán en el horario de las actividades presenciales programadas.
  2. Evaluación sobre las sesiones prácticas (40%). Esto consistirá en dos entregas o exámenes prácticos. Tanto las entregas como los exámenes versarán sobre el material desarrollado durante las prácticas de laboratorio, o variaciones sobre los ejercicios realizados. Las entregas se harían través del Campus Virtual, en la fecha que se estipule y han de ser individuales y originales.
  3. Trabajo en Grupo (20%), que se expondrá oralmente durante las horas de evaluación de la asignatura. Durante el curso los alumnos se organizarán en grupos de 3 ó 4 miembros (por norma general) pertenecientes al mismo grupo de tutorías grupales, que realizarán un trabajo a lo largo del periodo lectivo. La temática del trabajo será propuesta por el profesor, aunque puntualmente se pueden aceptar sugerencias del grupo. En la etapa final del curso el grupo deberá entregar una memoria del trabajo realizado antes de una fecha límite, y realizar una presentación pública del trabajo. Esta exposición será realizada por varios de los integrantes del grupo elegido/s el día de la presentación, por lo que es imprescindible que todos los miembros del grupo estén presentes. No se permite la entrega del trabajo en las convocatorias extraordinarias.

En cada uno de estos apartados debe obtenerse al menos una nota de 5 sobre 10 (si bien no hay nota mínima para cada una de las pruebas individuales que tienen lugar en cada apartado). Si cada uno de los apartados se obtiene 5 o más, la nota final será el promedio ponderado de las tres pruebas, según los pesos antes mencionados, lo que se resume en la fórmula:

    Nota final = 0,4 * Teo + 0,4 * Prac + 0,2 * TG (Siempre que Teo>=5 y Prac>=5 y TG>=5)

Si no se alcanzase la nota mínima en alguna de las partes, la nota final se calculará como el menor entre 4 y el valor arrojado por la fórmula anterior.

Convocatoria extraordinaria:

En esta convocatoria la nota se compone de dos partes:

  1. La nota que se había obtenido en el trabajo en grupo durante la evaluación continua (puede ser cero si no se hizo).
  2. Se realizará además una prueba presencial de conocimientos, consistente en un examen escrito que incluye preguntas tanto sobre los conceptos aprendidos en las clases expositivas como sobre las herramientas y tecnologías utilizadas en las sesiones de laboratorio, que deberá ser aprobada con una calificación de al menos 5 puntos sobre 10

La calificación final en la convocatoria extraordinaria se calculará con la siguiente fórmula:

      Calificación Final = 0,8 x Prueba presencial + 0,2 x Calificación Trabajo Grupo

Observación: nótese que si no se ha aprobado el trabajo en grupo en la convocatoria ordinaria se optará a una calificación máxima de 8 puntos en la convocatoria extraordinaria.

Evaluación diferenciada

La evaluación diferenciada en esta asignatura consiste en dispensar al alumno de los controles de teoría y prácticas que se realizan a lo largo del curso, así como de las entregas de trabajos de laboratorio y de la realización del trabajo en grupo, sustituyendo todo ello por las pruebas globales que se indican a continuación.

La teoría se evaluará en un examen único en la fecha de la convocatoria de mayo. Las prácticas se evaluarán mediante un examen en laboratorio, posterior al examen de teoría, en el que se pedirá al alumno que implemente alguna variación sobre el código desarrollado durante las sesiones prácticas, las cuales por tanto deberá haber realizado previamente, lo cual puede hacer de forma no presencial utilizando el material que se le suministrará a través del Campus Virtual.

De forma excepcional, si las condiciones sanitarias lo requieren, se podrán incluir métodos de evaluación no presencial, en cuyo caso, se informará al estudiantado de los cambios efectuados.

Recursos, bibliografía y documentación:

Bibliografía

  • Andrew S. Tanenbaum, Maarten van Steen, Sistemas distribuidos: principios y paradigmas. Pearson Educación, 2008.
  • George Colouris, Jean Dollimore, Tim Kindberg, Sistemas Distribuídos. Conceptos y Diseño. Adisson Wesley, 2001
  • M.L.Liu. Computación Distribuida. Fundamentos y Aplicaciones. Pearson-Addison Wesley, 2009.

Recursos necesarios:

Los principales recursos necesarios para cursar esta asignatura son un computador personal con conexión a Internet y herramientas ofimáticas, que se utilizarán para acceder al Campus Virtual (CV) y para la realización de las prácticas y trabajos en grupo. Las herramientas software necesarias estarán disponibles en los laboratorios de prácticas.