Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 99 Horas de Tutorías: 1 Clase Expositiva: 15 Clase Interactiva: 35 Total: 150
Lenguas de uso Castellano, Gallego
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Departamentos: Electrónica y Computación
Áreas: Ciencia de la Computación e Inteligencia Artificial
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Con docencia
Matrícula: Matriculable
En esta asignatura se pretende que el alumno adquiera los conocimientos necesarios que le permitan abordar el análisis y diseño de aplicaciones distribuidas en las que dos o más programas tienen que dialogar entre sí para obtener un resultado dado. Estos conocimientos incluyen un estilo de diseño e implementación que está condicionado por el hecho de que las funcionalidades del programa están distribuidas entre diferentes componentes que típicamente se encuentran en ordenadores diferentes, lo que impone necesidades de interacción entre dichos componentes. Por ello se estudiarán los diferentes paradigmas de computación distribuida así como las soluciones middleware más usadas en la actualidad para el desarrollo de este tipo de aplicaciones. Entre otros aspectos se estudiarán los paradigmas cliente-servidor, las llamadas a procedimientos remotos, el paradigma de objetos distribuidos en sus distintas implementaciones, las arquitecturas orientadas a mensajes y las arquitecturas basadas en pares (P2P) y en agentes, haciendo especial énfasis, en este último caso, en el lenguaje de comunicación y los protocolos de interacción entre los mismos.
1.Paradigmas de la computación distribuida.
2.El modelo del paso de mensajes.
3.El modelo cliente/servidor.
4.Aplicaciones colaborativas.
5.Objetos distribuidos.
6.Arquitecturas basadas en pares.
7.Arquitecturas orientadas a mensajes.
8.Sistemas multiagente.
9.Servicios de red.
10.Espacios de objetos.
Bibliografía básica
1. LIU, M. L. Computación Distribuida: Fundamentos y Aplicaciones. Addison Wesley 2004. ISBN 84-7829-066-4.
2. COULOURIS, George, DOLLIMORE, Jean y KINDBERG, Tim. Sistemas Distribuidos: conceptos y diseño. 3ª edición. Addison Wesley 2001. ISBN 84-7829-049-4.
Bibliografía complementaria
3. TANENBAUM, Andrew S. y STEEN, Maarten van. Distributed systems: principles and paradigms. 2ª edición. Pearson Education Inc. 2007. ISBN 0-13-239227-5.
4. STEVENS, W. Richard. Unix Network Programming. Volumen 1: Networking APIs - Sockets and XTI. Prentice-Hall 1997. ISBN 013490012X.
5. HORSTMANN, Cay S. y CORNELL, Gary. Core Java. Volumen 2: Advanced Features. Prentice-Hall 1999. ISBN 0130819344.
6. HAROLD, Elliotte Rusty. Java Network Programming. 3ª edición. O'Reilly 2004. ISBN 0-596-00721-3.
7. HARKEY, Can y ORFALI, Robert. Client/Server Programming with Java and CORBA. 2ª edición. John Wiley & Sons 1998. ISBN 047124578X.
8. ERDOGAN, Levent. Java Message Service (JMS) for J2EE. Que 2002. ISBN 0-7357-1255-7.
9. CHAPPELL, David y MONSON-HAEFEL, Richard. Java Message Service. O'Reilly 2000. ISBN 0596000685.
10. FREEMAN, Eric, HUPFER, Susanne, ARNOLD, Ken. JavaSpaces: Principles, paterns and practice. Prentice-Hall Java Series 1999. ISBN 9780201309553.
11. EDWARDS, Keith. Core Jini. Prentice-Hall Java Series 2000. ISBN 0130894087.
12. BELLIFEMINE, Fabio, CAIRE, Giovanni, GREENWOOD, Dominic. Developing multi-agent systems with JADE. Wiley series in agent technology. ISBN 978-0-470-05747-6.
Contribuir a conseguir las competencias recogidas en la memoria del título de Grado en Ingeniería Informática CG4, CG6, CG8, CG9, CG10 y TR2. En lo que respecta al módulo de programación en el que se inscribe la presente materia, se verá con mayor intensidad las competencias FB5, RI8, RI11, RI14 y TI6.
Dentro de las competencias y resultados del aprendizaje que el estudiante adquiere destacan; manejar diferentes niveles de abstracción para estructurar el software a desarrollar; programar bajo el paradigma de programación orientada a objetos; identificar posibles estrategias de solución a problemas con los conceptos propios de la orientación a objetos, como el uso de la jerarquía, el polimorfismo y la utilización de interfaces de objetos; conocer diferentes paradigmas de programación y saber elegir el más apropiado a cada situación; conocimiento de los diferentes paradigmas de programación; motivación y capacidad de autoaprendizaje y autoestima y espíritu de superación.
En este punto debemos distinguir lo que serán clases de teoría de lo que serían clases de prácticas. En lo que se refiere a la teoría se emplearán transparencias o diapositivas que muestren los conceptos fundamentales, así como una serie de ejemplos y figuras que ayuden a clarificar dichos conceptos.
Respecto a las clases de prácticas, los alumnos deberán de enfrentarse a una serie de problemas planteados por el profesorado, que tendrán que resolver y entregar en la fecha propuesta. Para su realización el alumno contará con ejemplos realizados y bibliografía complementaria. Algunos de los trabajos propuestos se realizarán por dos o más personas para fomentar el trabajo en grupo.
Se hará uso del Campus Virtual, tanto para el acceso a los contenidos de la materia por parte de los alumnos como para el seguimiento de las prácticas entregadas por los alumnos por parte del profesor.
Las competencias FB5, RI8, RI11, RI14, TI6, CG4, CG6, CG8, CG9 y CG10, así como las indicadas en el módulo de programación tienen contenidos específicos asociados en la parte teórica y práctica de la asignatura y se evaluan de forma explícita en las pruebas realizadas a lo largo del curso.
Las competencias de tipo TR2 se trabajarán de forma implícita por la propia dinámica de las clases donde el trabajo en equipo es necesario para la realización de determinadas tareas.
La evaluación del alumno se realizará en base a un examen final que cuantifique los conocimientos adquiridos a lo largo del curso y del seguimiento continuo del trabajo realizado en prácticas. Es requisito indispensable para poder superar la asignatura la asistencia a clase y el superar ambas partes por separado.
La asistencia a clase se verificará mediante la cumplimentación de hojas de asistencia tanto en teoría como en prácticas.
La nota final se calculará como la media geométrica entre la nota obtenida en el examen de teoría y la nota de prácticas, salvo en el caso de que una de esas notas sea inferior al aprobado, en cuyo caso la nota final se calculará como el mínimo de ambas notas.
Dentro de la parte teórica de la asignatura se evaluarán las competencias CG8, CG9, CG10, TR2, FB5, RI8, RI11, RI14 y TI6 mediante distintas preguntas en el examen teórico.
Dentro de la parte práctica de la asignatura la nota tendrá en cuenta el grado de consecución de las competencias CG4, CG6, CG8, CG9, TR2, RI8, RI11 y RI14.
Para que se asuma como calificación la de "No Presentado" el alumno deberá de no haberse presentado al examen final y no haber presentado a evaluación más del 25% de los trabajos de prácticas.
En la etapa de evaluación de julio el alumno dispondrá de una nueva oportunidad para superar la parte teórica de la asignatura en base a un nuevo examen y tendrá habilitado un periodo para la presentación de las prácticas que no haya superado durante el curso. En cualquier caso, la nota final de la asignatura se establecerá en base a los últimos exámenes y/o trabajos presentados, no existiendo como opción la realización de un examen de prácticas.
En lo que respecta a los alumnos repetidores, no se hace ningún tipo de distinción en su evaluación con respecto al resto de los alumnos. Estos deberán, igualmente, superar tanto la parte teórica como la práctica por separado para poder superar la asignatura.
La evaluación de los alumnos que se presenten en la convocatoria extraordinaria (diciembre/enero) es exactamente igual a la del resto de los alumnos: realización de un examen de teoría y realización de una serie de prácticas. Nuevamente no hay examen de prácticas.
En el caso de realización fraudulenta de ejercicios o pruebas, será de aplicación lo recogido en la Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de cualificaciones.
En aplicación de la Normativa de la ETSE sobre plagio (aprobada por la Xunta de la ETSE el 19/12/2019), la copia total o parcial de algún ejercicio de prácticas o teoría supondrá el suspenso en las dos oportunidades del curso, con la calificación de 0,0 en ambos casos.
El trabajo realizado por el alumno se divide en dos grandes apartados: trabajo presencial en el aula y trabajo personal del alumno. En lo que respecta al trabajo presencial en el aula, estimamos que el alumno deberá dedicar al menos 51 horas, repartidas en los siguientes apartados: clases expositivas (15 horas), clases interactivas (35 horas) y tutorias (1 hora). En lo que respecta al trabajo personal del alumno, éste deberá dedicar al menos 92 horas, repartidas en los siguientes apartados: estudio autónomo (24,5 horas), escritura de ejercicios, conclusiones u otros trabajos (15 horas), programación en ordenador (37,5 horas) y evaluación de trabajos, proyectos, exámenes, etc. (15 horas).
Si bien no es indispensable, es recomendable disponer de un ordenador con conexión a Internet. En las prácticas se usará indistintamente el sistema operativo Windows y Linux, por lo que es recomendable tener instalados ambos sistemas operativos.
En la asignatura se hará uso de la USC Virtual
Como software se usara el JDK de Sun y, opcionalmente, algún entorno de desarrollo tipo Netbeans o Eclipse. También se utilizará el entorno de desarrollo de agentes JADE.
La asignatura se imparte en castellano, si bien no hay inconveniente en responder a preguntas en gallego.
Como bibliografía en linea se solicitó la disponibilidad del primer libro de la bibliografía básica
Jesus Maria Rodriguez Presedo
Coordinador/a- Departamento
- Electrónica y Computación
- Área
- Ciencia de la Computación e Inteligencia Artificial
- Teléfono
- 881816433
- Correo electrónico
- jesus.presedo [at] usc.es
- Categoría
- Profesor/a: Titular de Universidad
Lunes | |||
---|---|---|---|
10:00-11:00 | Grupo /CLE_01 | Castellano | IA.S1 |
Martes | |||
11:00-14:00 | Grupo /CLIL_04 | Castellano | IA.S1 |
Miércoles | |||
11:00-12:00 | Grupo /CLE_01 | Castellano | IA.S1 |
Jueves | |||
15:30-18:30 | Grupo /CLIL_01 | Castellano | IA.04 |
Viernes | |||
11:00-14:00 | Grupo /CLIL_02 | Castellano | IA.02 |
15:30-18:30 | Grupo /CLIL_03 | Castellano | IA.S2 |
21.01.2025 16:00-20:00 | Grupo /CLE_01 | Aula A3 |
21.01.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A3 |
21.01.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A3 |
21.01.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A3 |
21.01.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A3 |
21.01.2025 16:00-20:00 | Grupo /CLE_01 | Aula A4 |
21.01.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A4 |
21.01.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A4 |
21.01.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A4 |
21.01.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A4 |
10.07.2025 16:00-20:00 | Grupo /CLIL_01 | Aula A2 |
10.07.2025 16:00-20:00 | Grupo /CLIL_02 | Aula A2 |
10.07.2025 16:00-20:00 | Grupo /CLIL_03 | Aula A2 |
10.07.2025 16:00-20:00 | Grupo /CLIL_04 | Aula A2 |
10.07.2025 16:00-20:00 | Grupo /CLE_01 | Aula A2 |