G4011326 - Computación Distribuída (Programación) - Curso 2013/2014
Información
- Créditos ECTS
- Créditos ECTS: 6.00
- Total: 6.0
- Horas ECTS
- Clase Expositiva: 15.00
- Clase Interactiva Laboratorio: 35.00
- Horas de Titorías: 1.00
- Total: 51.0
Outros Datos
- Tipo: Materia Ordinaria Grao RD 1393/2007
- Departamentos: Electrónica e Computación
- Áreas: Ciencia da Computación e Intelixencia Artificial
- Centro: Escola Técnica Superior de Enxeñaría
- Convocatoria: 2º Semestre de Titulacións de Grao/Máster
- Docencia e Matrícula: null
Profesores
Horarios
Programa
Existen programas da materia para os seguintes idiomas:
CastelánGalegoInglésObxectivos da materiaNesta materia preténdese que o alumno adquira os coñecementos necesarios que lle permitan abordar o analise e deseño de aplicacións distribuidas nas que dous ou mais programas teñen que dialogar entre sí para obter un resultado dado. Estes coñecementos incluen un estilo de deseño e implementación que está condicionado polo feito de que as funcionalidades do programa están distribuidas entre diferentes compoñentes que típicamente se encontran en ordenadores diferentes, o que impón necesidades de interacción entre ditos compoñentes. Por ilo, estudaranse os diferentes paradigmas de computación distribuída así como as solucións middleware mais usadas na actualidade para o desenrolo deste tipo de aplicacions. Entre outros aspectos estudaranse os paradigmas cliente-servidor, as chamadas a procedementos remotos, o paradigma de obxectos distribuídos nas suas distintas implementacions, as arquitecturas orientadas a mensaxes e as arquitecturas baseadas en pares (P2P) e en axentes, facendo especial énfasis, neste último caso, na linguaxe de comunicación e os protocolos de interacción entre os mesmos.
Contidos1. Paradigmas da computación distribuída.
2. O modelo do paso de mensaxes.
3. O modelo cliente/servidor.
4. Aplicacións colaborativas.
5. Obxectos distribuidos.
6. Arquitecturas baseadas en pares.
7. Arquitecturas orientadas a mensaxes.
8. Sistemas multiaxente.
9. Servicios en rede.
10. Espacios de obxectos.
Bibliografía básica e complementariaBibliografía básica
1. M. L. Liu. "Computación Distribuida: Fundamentos y Aplicaciones". Addison Wesley 2004. ISBN 84-7829-066-4.
2. George Coulouris, Jean Dollimore y Tim Kindberg. "Sistemas Distribuidos: conceptos y diseño". 3ª edición. Addison Wesley 2001. ISBN 84-7829-049-4
3. Andrew S. Tanenbaum y Maarten van Steen. "Distributed systems: principles and paradigms". Prentice-Hall 2002. ISBN 0-13-088893-1.
Bibliografía complementaria
4. W. Richard Stevens. "Unix Network Programming. Volumen 1: Networking APIs - Sockets and XTI". Prentice-Hall 1997. ISBN 013490012X.
5. Cay S. Horstmann y Gary Cornell. "Core Java. Volumen 2: Advanced Features". Prentice-Hall 1999. ISBN 0130819344.
6. Elliotte Rusty Harold. “Java Network Programming”. 3ª edición. O'Reilly 2004. ISBN 0-596-00721-3.
7. Can Harkey y Robert Orfali. "Client/Server Programming with Java and CORBA". 2ª edición. John Wiley & Sons 1998. ISBN 047124578X.
8. Levent Erdogan. “Java Message Service (JMS) for J2EE”. Que 2002. ISBN 0-7357-1255-7.
9. David Chappell, Richard Monson-Haefel. “Java Message Service”. O'Reilly 2000. ISBN 0596000685.
10. Eric Freeman, Susanne Hupfer, Ken Arnold. “JavaSpaces: Principles, paterns and practice”. Prentice-Hall Java Series 1999. ISBN 9780201309553.
11. Keith Edwards. “Core Jini”. Prentice-Hall Java Series 2000. ISBN 0130894087.
12. Fabio Bellifemine, Giovanni Caire, Dominic Greenwood. “Developing multi-agent systems with JADE”. Wiley series in agent technology. ISBN 978-0-470-05747-6.
CompetenciasContribuir a acadar as competencias recollidas na memoria do título de Grado en Enxeñería Informática CG4, CG6, CG8, CG9, CG10 y TR2. No que atinxe o módulo de programación no que se inscribe a presente materia, verase con maior intensidade as competencias FB5, RI8, RI11, RI14 e TI6.
Dentro das competencias e resultados do aprendizaxe que o estudante adquire destacan; manexar diferentes niveis de abstracción para estructurar o software a desenvolver; programar baixo o paradigma de programación orientada a obxetos; identificar posibles estratexias de solución de problemas con conceptos propios da orientación de obxetos, como o uso da jerarquía, o polimorfismo e a utilización de interfaces de obxetos; coñecer diferentes paradigmas de programación e saber elexir o mais axeitado a cada situación; coñecemento dos diferentes paradigmas de programación; motivación e capacidade de autoaprendizaxe e autoestima e espíritu de superación.
Metodoloxía da ensinanza Neste punto debemos distinguir o que serán clases de teoría e clases de prácticas. No que atinxe á teoría empregaranse transparencias ou diapositivas que mostren os conceptos fundamentais, así como unha serie de exemplos e figuras que axuden a clarificar ditos conceptos.
Respecto as clases de prácticas, os alumnos deberanse enfrentar a unha serie de problemas prantexados polo profesorado, que tendrán que resolver e entregar na data proposta. Para a sua realización, o alumno disporá con exemplos realizados e bibliografía complementaria. Algúns dos traballos propostos realizaranse por duas ou mais persoas para fomentar o traballo en grupo.
Farase uso do Campus Virtual, tanto para o acceso os contidos da materia por parte dos alumnos como para o seguimento das prácticas entregadas polos alumnos por parte do profesor.
Sistema de evaluaciónA evaluación do alumno farase en base a unha exame final que cuantifique os coñecementos adquiridos ó longo do curso e do seguimento continuo do traballo realizado en prácticas. É requisito indispensable para poder superar a materia a asistencia a clase e superar ámbalas duas partes por separado.
A asistencia a clase verificarase mediante a cumprimentación de follas de asistencia tanto en teoría como en prácticas.
A nota final calcularase como a media xeométrica entre a nota obtida na exame de teoría e a nota de prácticas, salvo no caso de que unha de esas notas sexa inferior ó aprobado, en cuio caso a nota final calcularase como o mínimo de ambaslas duas notas.
Para que se asuma como calificación a de "Non Presentado" o alumno non podera presentarse o exame final e non presentar a evaluación mais do 25% dos trabajos de prácticas.
Na etapa de evaluación de xullo o alumno disporá dunha nova oportunidade para superar a parte teórica da materia en base a un novo exame e terá habilitado un periodo para a presentación das prácticas que non superara durante o curso. En calqueira caso, a nota final da materia establecerase en base os últimos exames e/ou traballos presentados, non existindo como opción a realización dunha exame de prácticas.
No que respecta os alumnos repetidores, non se fai ningún tipo de distinción na sua evaluación con respecto o resto dos alumnos. Estes deberán, igualmente, superar tanto a parte teórica como a práctica por separado para poder superar a materia.
Tempo de estudo e traballo persoalO traballo realizado polo alumno divídese en dous grandes apartados: traballo presencial na aula e traballo persoal do alumno. No que respecta o traballo presencial na aula, estimamos que o alumno deberá adicar alomenos 51 horas, repartidas nos seguintes apartados: clases maxistrais (15 horas), clases interactivas (35 horas) e tutorias (1 hora). No que respecta o traballo persoal do alumno, éste deberá adicar alomenos 92 horas, repartidas nos seguintes apartados: estudo autónomo (24,5 horas), escritura de exercicios, conclusións e outros traballos (15 horas), programación no ordeador (37,5 horas) e evaluación de traballos, proxectos, exámes, etc. (15 horas).
Recomendacións para o estudo da materiaSe ben non é indispensable, é recomendable dispor dun ordenador con conexión a Internet. Nas prácticas usarase indistintamente o sistema operativo Windows e Linux, polo que é recomendable ter instalados ambos sistemas operativos.