guÍa de aprendizaje sistemas distribuidos graduado en ...€¦ · guÍa de aprendizaje sistemas...
TRANSCRIPT
1
GUÍA DE APRENDIZAJE Sistemas Distribuidos
GRADUADO EN INGENIERÍA DE COMPUTADORES
DATOS DESCRIPTIVOS1
CENTRO RESPONSABLE E.U. de Informática
OTROS CENTROS IMPLICADOS
CICLO Grado sin atribuciones
MÓDULO Curso de Adaptación
MATERIA:
ASIGNATURA: Sistemas Distribuidos
CURSO: 3º
DEPARTAMENTO RESPONSABLE Informática Aplicada
CRÉDITOS EUROPEOS: 6
CARÁCTER: Obligatoria
ITINERARIO:
CURSO ACADÉMICO: 2012/2013
PERIODO DE IMPARTICIÓN: Segundo semestre
IDIOMAS IMPARTICIÓN: Español
OTROS IDIOMAS DE IMPARTICIÓN:
HORAS/CRÉDITO 26
1 Paso 0 en la aplicación EUROPA
2
PROFESORADO2
NOMBRE Y APELLIDOS
DESPACHO Correo electrónico EN INGLÉS
Isabel Muñoz Fernández D-4416 [email protected] No
Sergio Arévalo Viñuales D-4415 [email protected] No
TUTORÍAS
NOMBRE Y APELLIDOS
TUTORÍAS
LUGAR DÍA DE A
Isabel Muñoz Fernández
D-4416 Lunes 10 12
Martes 16 18
Miércoles 10 12
Sergio Arévalo Viñuales
D-4415 Martes 11 14
Martes 15 18
GRUPOS
Nº de Grupos3
GRUPOS ASIGNADOS EN:
Teoría 3
Prácticas 3
Laboratorio 0
2 Paso 2 en la aplicación EUROPA. Si no se sabe el horario de tutorías, poner sólo el despacho. 3 Los grupos son de teoría y/o de laboratorio (no de prácticas).
3
REQUISITOS PREVIOS NECESARIOS4
ASIGNATURAS SUPERADAS:
OTROS REQUISITOS
CONOCIMIENTOS PREVIOS RECOMENDADOS
ASIGNATURAS PREVIAS RECOMENDADAS:
Algorítmica y complejidad
Programación orientada a objetos y concurrente
Redes de computadores
Sistemas Operativos
CONOCIMIENTOS PREVIOS
Programación en Java
OTROS CONOCIMIENTOS
4 Paso 3 en la aplicación EUROPA
4
COMPETENCIAS5
CÓDIGO COMPETENCIA NIVEL RA
G1 Comunicación oral y escrita N3 RA_6
G4 Organización y planificación N4 RA_1 - RA_6
G6 Uso de lengua inglesa N3 RA_6
G7 Uso de las tecnologías de la información y las comunicaciones
N5 RA_1 - RA_5
G8 Trabajo en equipo N3 RA_5
G9 Aprendizaje autónomo N4 RA_6
G10 Capacidad de análisis y síntesis N4 RA_6
G13 Razonamiento crítico N4 RA_6
G14 Resolución de problemas N3 RA_1, RA_2
I12
Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos
N5
RA_3, RA_4
I14
Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados
N3
RA_1 - RA_5
I17
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
N4
RA_1 - RA_5
I20
Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real
N4
RA_1 - RA_5
E3
Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software de para las mismas
N3
RA_1 - RA_5
5 Paso 4 y 5 en la aplicación EUROPA. Hay que poner un RA por cada competencia que tenga la asignatura en el Plan de Estudios. Imprescindible poner todas las competencias.
5
CÓDIGO COMPETENCIA NIVEL RA
E4 Capacidad de diseñar e implementar software de sistema y de comunicaciones
N3
RA_1 - RA_5
RESULTADOS DE APRENDIZAJE
CÓDIGO DESCRIPCIÓN
RA_1 Identifica los conceptos y abstracciones elementales que subyacen en todo sistema distribuido.
RA_2 Identifica los problemas más comunes que presenta un sistema distribuido debido a la falta de memoria y reloj común, a la falta de sincronía y a la presencia de errores en la red y en los procesos.
RA_3 Define el modelo fundamental y el modelo arquitectónico de un sistema distribuido.
RA_4 Selecciona los algoritmos más apropiados para la resolución de los problemas anteriores dado un determinado modelo fundamental.
RA_5 Construye aplicaciones distribuidas utilizando tanto algoritmos bien conocidos como propios, así como plataformas middleware existentes en el mercado para la computación distribuida.
RA_6 Analiza y sintetiza por escrito un texto científico en inglés, identificando el problema, el objetivo, el método de resolución del problema, los resultados y las conclusiones del autor.
INDICADORES DE LOGRO6
CÓDIGO INDICADOR RA
IN_01 E1.- Cuestiones sobre objetivos específicos Cuestiones de respuesta corta sobre los objetivos específicos de cada tema previamente definidos
RA1, RA2, RA3, RA4,
RA5
IN_02 E2.- Resolución de problemas Resolución de ejercicios sobre los contenidos de la asignatura
RA1, RA2, RA3, RA4,
RA5
IN_03
P1.- Evaluación del razonamiento crítico realizado sobre un artículo científico Lenguaje apropiado en la documentación desarrollada. Organización del texto. Razonamiento crítico sobre la forma de expresión de las ideas por parte del autor: identificación del problema, estado del arte, objetivo del autor, método de resolución, resultados y conclusiones
RA1-RA5
IN_04 P2.- Evaluación del desarrollo en Java de un sistema distribuido. RA5
6 Paso 6 en la aplicación EUROPA
6
CONTENIDOS ESPECÍFICOS (TEMARIO)7
TEMA APARTADOS LOGRO
1. Characterization of Distributed Systems (4 h)
1.1. Introduction IN_01, IN_02
1.2. Examples of distributed systems 1.3. Resource sharing and the web 1.4. Challenges
2. System Models (4 h) 2.1. Introduction IN_01, IN_02
2.2. Architectural models 2.3. Fundamental models
3. Synchronization (8 h)
5.1 Introduction IN_01, IN_02
5.2. Synchronizing physical clocks
5.3. Logical time and logical clocks 5.4. Global states
4. Coordination and agreement (8 h)
6.1. Introduction IN_01, IN_02,
6.2. Distributed mutual exclusión
6.3. Elections
6.4. Multicast communication
6.5. Consensus
5. Transactions (6 h) 7.1. Introduction IN_01, IN_02
7.2 Flat and nested distributed transactions 7.3 Atomic commit protocols 7.4 Transaction recovery protocols
CONTENIDOS ESPECÍFICOS (TEMARIO)
TEMA APARTADOS LOGRO Lab 1. Java Review (4h)
1.1 Platform Description IN_01, IN_02, IN_04
1.2 Compiling 1.3 Classes and Objects 1.4 Exceptions 1.5 Input/Output Streams
7 Paso 7 en la aplicación EUROPA
7
Lab 2. Operting System Support (4h) [Coulouris7]
2.1 Introduction [C7.1] IN_01, IN_02, IN_04
2.2 The Operating system Layer [C7.2] 2.3 Protection [C7.3] 2.4 Processes and Threads [C7.4] 2.4.1 Address spaces [C7.4.1] 2.4.2 Creation of a new process [C7.4.2] 2.4.3 Threads [C7.4.3] excluding Architectures for multi-threaded servers
Lab 2. Interprocess Communication (4 h) [Coulouris4]
2.1. Introduction [C4.1] IN_01, IN_02, IN_04
2.2. The API for the Internet protocols [C4.2] 2.2.1. Characteristics [C4.2.1] 2.2.2. Sockets [C4.2.2] 2.2.3. UDP Datagram Communication[C4.2.3] 2.2.4. TCP Stream Communication[C4.2.4] 2.3. External Data Representation and Marshalling [C4.3]
2.3.1. Java Object Serialization [C4.3.2] Lab 3. Remote Invocation (6 h) [Coulouris5,7]
3.1. Introduction [C5.1] IN_01, IN_02, IN_04
3.2 Request-reply protocol [C5.2] 3.3 Architectures for multi-threadedservers [C7.4.3]
3.3. Remote procedure call [C5.3] 3.4. Asynchronous Invocation [C7.5.2] 3.5. Remote Method invocation [C5.4] 3.4.1. Design issues for RMI [C5.4.1] 3..4.2. Remote Object reference [4.3.4] 3.4.3. Implementation of RMI [C5.4.2] 3.4.4 Invocation Performance [C7.5.1] 3.4.4. Case Study. Java RMI [C5.5]
LabX.Critical Thinking (4 h)
8.1 Introduction IN_3 8.2. Reading, analysis, synthesis JC I
8.3 . Reading, analysis, synthesis JC II
8
BREVE DESCRIPCIÓN DE LAS MODALIDADES ORGANIZATIVAS UTILIZADAS Y MÉTODOS DE ENSEÑANZAS EMPLEADOS8
MODALIDAD DESCRIPCIÓN MÉTODO MÉTODOS DE ENSEÑANZA
CLASES DE TEORÍA
Descripción de conceptos teóricos • Lección magistral • Aprendizaje cooperativo • Resolución de ejercicios
y problemas
PRÁCTICAS Desarrollo incremental de un sistema distribuido e tipo RMI en Java
• Aprendizaje basado en proyectos
TRABAJOS
AUTÓNOMOS
Búsqueda, análisis y síntesis de información relativa a conceptos de la asignatura aplicados a la vida real 10 m Exposición oral usando unas transparencias escritas en inglés
• Método expositivo • Estudio de casos
TUTORÍAS Individuales Grupales
8 Paso 10 de la aplicación EUROPA
9
CRONOGRAMA DE TRABAJO DE LA ASIGNATURA9
SEMANA ACTIVIDADES
Actividad Modalidad10 Met.Ense11 Lugar12 Duración Evaluación13 Prep Carga(%)14
1
Tema 1. Intro (I) Clase teórica Lección magistral Aula 2 2 Tema 1. Repaso Java I. Entorno. Objetos. Excepciones. I/O. Enunciado JC 1(4 h)
Clase de prácticas Proyecto Laboratorio 2
4 JC I (2 h) Java I (2h)
2
Tema 1. Intro (II) Clase teórica Lección magistral Aula 2 2 Tema 1. Repaso Java II. Threads. Concurrencia. Enun P1(3 h)
Clase de prácticas Proyecto Laboratorio 2
4 JC I ( 2 h) P1. Threads (3 h)
3
Tema 2. System Model (I) Clase teórica Lección magistral Aula 2 3 Corrección JC I. Enunciado JC 2 Tema 2. IPC I 2.1 Intro
Clase de prácticas Proyecto Laboratorio 0’5
P1.Threads (2h) JC II (1h) 3
JC I. Examen JC 1 Estudio autónomo Coevaluación Laboratorio 1’5 Ev. Continua 0
9 Paso 8 en la aplicación EUROPA 10 A elegir entre: Clase de Problemas, Clase de prácticas, Clases teóricas, Estudio y trabajo autónomo, Estudio y trabajo en grupo, prácticas externas, seminarios-talleres, tutorías 11 A elegir entre: Aprendizaje Basado en Problemas, Aprendizaje Basado en Proyectos, Aprendizaje cooperativo, Contrato de aprendizaje, Estudio de casos, estudio de teoría, Lección magistral, Método expositivo, Resolución de ejercicios y problemas 12 Aula, Laboratorio, Otros 13 Continua, Examen Final, Ambas 14 No hace falta calcularla, lo hace la aplicación. Lo que sí hay que hacer es cuidar el número de horas dedicadas por el alumno a la asignatura semanalmente. La suma semestral, incluyendo las horas de los exámenes, debe ser 156 horas.
10
SEMANA ACTIVIDADES
Actividad Modalidad10 Met.Ense11 Lugar12 Duración Evaluación13 Prep Carga(%)14
4
Tema 2. System Model (II) Clase teórica Lección magistral Aula 2 3 Comunicación (I) Sockets TCP. UDP. Java. 3.1 y 3.2. Enun P2 (4 h)
Prácticas Lección magistral Práctica en ordenador Laboratorio 2
P2. Sockets multihilo (2h) JC II (1) 3
5
Tema 3. Synchro (I) Clase teórica Lección magistral Aula 2 3 RMI (I) 4.1. Intro 4.2 comunication Object 3.4 Client/server prot 3.3 Ext. Data Represent
Prácticas Lección magistral Laboratorio 2
P2. Sockets multihilo (2h) JC II (1) 3
6
Tema 3. Synchro (II) Clase teórica Lección magistral Aula 2 3
Tema 4. RMI (II) Enun. ORB (14 h) Prácticas Lección magistral Laboratorio 1
P3. ORB I (2) JC II (1) 3
Exam prácticas P1 y P2. Threads y sockets Estudio autónomo Resolución de
problemas Laboratorio 1 0
7
Tema 3. Synchro (III) Clase teórica Lección magistral Aula 2 3
Tema 4. RMI (III) Ejemplo Java RMI Prácticas Lección magistral Laboratorio 2
P3. ORB II (2) JC II (1) 3
8 Semana Santa
9
Tema 3. Synchro (IV) Relojes vectoriales Clase teoría Lección magistral Aula 2 3
Ejemplo Java RMI Prácticas Resolución RMI/Java Laboratorio 2 P3. ORB III (2) JC II (1) 3
10 Exam Teoría. T1-T3 Exam prácticas P1 y P2 Bloque 2 Ev. continua 3 50
11
SEMANA ACTIVIDADES
Actividad Modalidad10 Met.Ense11 Lugar12 Duración Evaluación13 Prep Carga(%)14
P3. ORB IV Prácticas Aprendizaje Basado en proyecto Laboratorio 2
P3. ORB V (2) JC II (1) 3
11 Tema 4. Coord (I) Clase teórica Lección magistral Aula 2 3
P3. ORB VI JCII
Clase de prácticas
Aprendizaje Basado en Proyectos Laboratorio 2
P3.ORB VII (2) JC II (1) 3
12
Tema 4. Coord (II) Clase teórica Lección magistral Aula 2 3 P3.ORB VIII JCII Enun P4. SN (5 h)
Clase de prácticas
Aprendizaje Basado en Proyectos Laboratorio 2
P4. SN I (1’5) JC II (1’5) 3
13 Tema 4. Coord (III) Clase teórica Lección magistral Aula 2 3
P4. SN JCII
Clase de prácticas
Aprendizaje basado en problemas Laboratorio 2
P4. SN (1’5) JC II (1’5) 3
14
Tema 4. Coord (IV) Clase teórica Lección magistral Aula 2 3
P4. SN JCII
Clase de prácticas
Aprendizaje Basado en Proyectos Laboratorio 2
Prep Ex P3-P4 (1’5) JC II (1’5) 3
15
Tema 5. Trans (I) Clase teórica Lección magistral Aula 2 3
JC II Clase de prácticas
Aprendizaje Basado en Proyectos Laboratorio 0’5
JC II (1’5) Repaso examen (1’5)
Estudio autónomo Res. de problemas Laboratorio 1’5 0
16 Tema 5. Trans (II) Clase teórica Lección magistral Aula 2 3 JC II
Clase de prácticas
Aprendizaje Basado en Proyectos Laboratorio 2
3
17 Tema 5. Trans (III) Clase teórica Lección magistral Aula 2 1
12
H
EVALUACIÓN DE LA ASIGNATURA
SEMANA ACTIVIDADES Actividad Lugar Técnica eval15. Peso(%) Eval. min
1
2
3 Examen JC I (1’30 h ) Laboratorio Coevaluación 0 5
4
5
6
Examen prácticas P1 y P2. Threads y sockets (1 h)
Laboratorio Prueba de ejecución de tareas reales 0 5
7
8 15 Escalas de actitudes, Informes/memorias de prácticas, Portafolios, Prueba de Ejecución de tareas reales y/o simuladas, Pruebas de Respuestas Corta, Pruebas de Respuestas Largas de desarrollo, Pruebas objetivas, Pruebas orales, Sistema de Autoevaluación, Técnica de observación, Trabajos y Proyectos
13
SEMANA ACTIVIDADES Actividad Lugar Técnica eval15. Peso(%) Eval. min
9
10 11/04/2013
Examen Teoría. T1-T3 Examen Prácticas (2h)
Bloques 13:30 h - 15:30 h
Pruebas de respuesta corta/larga 50 5
11-17
18 5/06/2013
(Examen ord junio)
Examen Teoría. T4 –T5 Examen de Prácticas. (2h )
Bloque Pruebas de respuesta corta / larga 50 5
14
CRITERIOS DE CALIFICACIÓN DE LA ASIGNATURA
CRITERIOS DE CALIFICACIÓN
Evaluación de la asignatura en el periodo ordinario de docencia
a) Sistema de evaluación continua
Bloque I. Teoría. 2 pruebas escritas individuales (50%) Bloque II. Pensamiento crítico (5%) Bloque III. Prácticas (45%) • Es necesario obtener al menos un 5 sobre 10 en todos los bloques para superar la asignatura • En el caso de que el alumno suspenda el sistema de evaluación continua pero tenga algún o
algunos bloques superados, podrá presentarse al examen extraordinario de julio y examinarse únicamente de los bloques suspensos
b) Sistema de evaluación mediante solo prueba final
Al sistema de evaluación de prueba final podrán presentarse aquellos alumnos que hayan optado por esta modalidad. La elección de dicha modalidad podrá realizarse como máximo hasta el viernes 29 de marzo de 2013.
No se tendrá en cuenta ninguna nota de pruebas realizadas de bloques suspensos bajo la evaluación continua en la nota del examen ordinario de junio.
Las actividades de evaluación previstas son:
• Bloque I. Teoría. Prueba escrita (55%) • Bloque II. Prácticas. (45%) Solo se podrá aprobar si se obtiene al menos un 5 sobre 10 en cada uno de los bloques anteriores.
Evaluación de la asignatura en el periodo extraordinario
El examen extraordinario de julio constará de 2 bloques de evaluación distintos: teoría y prácticas. Los alumnos que en evaluación continua hayan superado alguno de estos bloques, no tendrán que examinarse de ellos de nuevo. Las actividades de evaluación previstas son:
• Bloque I. Teoría. Prueba escrita (55%) • Bloque II. Prácticas. (45%) Solo se podrá aprobar si se obtiene un 5 sobre 10 en cada uno de los bloques anteriores.
15
RECURSOS DIDÁCTICOS16
TIPO DESCRIPCIÓN
BIBLIOGRAFÍA Coulouris, G., Dollimore, J. y Kindberg, T. (2005). Distributed systems, concepts and design (5ª ed.). Madrid: Addison-Wesley.
Tanenbaum, A.S. y van Steen, M. (2002). Distributed systems: principles and paradigms. Upper Saddle River, NJ: Prentice-Hall. Lynch N. (1999). Distributed Algorithms. Morgan Kaufmann. Attiya, H. and Welch, J. (2004). Distributed Computing (2 nd. edition). Wiley Liu, M.L. (2004). Computación distribuida: fundamentos y aplicaciones. Madrid: Addison Wesley.
RECURSOS WEB Servidor Moodle del departamento: http://c3po.eui.upm.es
EQUIPAMIENTO Laboratorios del departamento
Aulas del Centro de Cálculo
OTRA INFORMACIÓN RESEÑABLE17
16 Paso 11 en la aplicación EUROPA 17 Paso 12 en la aplicación EUROPA