Guia docente | ||||||||||||||||||||||
DATOS IDENTIFICATIVOS | 2011_12 | |||||||||||||||||||||
Asignatura | PROGRAMACION AVANZADA | Código | 00702050 | |||||||||||||||||||
Enseñanza |
|
|||||||||||||||||||||
Descriptores | Cr.totales | Tipo | Curso | Semestre | ||||||||||||||||||
6 | Optativa | Cuarto | Segundo |
|||||||||||||||||||
Idioma | ||||||||||||||||||||||
Prerrequisitos | ||||||||||||||||||||||
Departamento | ING.MECANICA,INFORMAT.AEROESP. |
|||||||||||||||||||||
Responsable |
|
Correo-e | arods@unileon.es cferll@unileon.es |
|||||||||||||||||||
Profesores/as |
|
|||||||||||||||||||||
Web | http://agora.unileon.es | |||||||||||||||||||||
Descripción general |
Comprender el concepto abstracto de concurrencia. Conocer los problemas básicos de la programación
concurrente: exclusión mutua, sincronización, comunicación. |
|||||||||||||||||||||
Tribunales de Revisión |
|
|||||||||||||||||||||
Objetivos |
Comprender el concepto abstracto de concurrencia. Conocer los problemas básicos de la programación
concurrente: exclusión mutua, sincronización, comunicación. |
Metodologías |
La teoría se impartirá en clases magistrales a razón de dos horas semanales y la práctica mediante trabajo en laboratorio del alumno también durante dos horas semanales. El trabajo de laboratorio estará dirigido a que el alumno desarrolle programas tanto individualmente como en grupo. Seguirá una metodología de desarrollo no estricta pero actual. Se utilizarán herramientas de colaboración para el desarrollo de aplicaciones en grupo. Los lenguajes de programación serán ADA y Java. " |
Contenidos |
Bloque | Tema |
"1. Introducción a la programación paralela. Concepto de paralelismo. Procesos paralelos. Comunicación y sincronización entre procesos. Tipos de paralelismo: programación concurrente. Programación distribuida. Lenguajes. Sistemas Informáticos Paralelos. 2. Modelos teóricos concurrencia. Redes de Petri. Algebras de Procesos. Pi-calculus 3. Programación concurrente. Variables compartidas. Exclusión mutua. Algoritmo de Dekker. Semáforos. Monitores. Lenguajes de programación concurrente. Programación concurrente en Ada, Rendez-vous. Programación concurrente en Java 4. Introducción a la Programación distribuida. Intercambio de mensajes. Comunicación síncrona y asíncrona. Intercomunicación entre procesos. Algoritmos distribuidos. Programación Sockets Java. 5. Modelos de Programación distribuida. Paso de Mensajes. Programación Cliente-Servidor. Modelo punto a punto. Multidifusión. Llamadas a procedimientos remotos. RMI. 6. Aplicaciones Web. El protocolo http. El lenguaje html. Programación del lado del cliente: applets, javascript. Programación del lado del servidor: cgi, servlets, jsp. 7. Middleware y Componentes Software. Middleware y programación distribuida. Patrones arquitectónicos y de diseño. Desarrollo de software basado en componentes. Arquitecturas por componentes: CORBA, COM, Enterprise JavaBeans. 8. Modelos avanzados de computación distribuida. Cola de mensajes. Agentes Móviles. Servicios Web. Espacios de objetos. " |
Otras actividades |
" |
Evaluación |
descripción | calificación | ||
Otros comentarios y segunda convocatoria | |||
La asignatura se divide en una parte teórica y una parte práctica. Para superar la asignatura habrá que superar ambas partes. Una vez superadas, la valoración de la nota del alumno se realizará mediante una media ponderada de la puntuación obtenida en las pruebas correspondientes a la parte teórica (40%), de las puntuaciones obtenida en la parte práctica (40%) y de la puntuación obtenida por la valoración del profesor de la participación del alumno en las actividades de la asignatura (20%). Parte teórica: La evaluación de la parte teórica se realizará mediante trabajos escritos. Los trabajos consistirán en una ampliación de las técnicas de programación de entre las vistas en las clases teóricas. Se valorará la redacción, estructuración y contenidos del trabajo, así como la corrección del programa entregado. Parte práctica Para superar la parte práctica se deberán entregar todas las prácticas que se vayan realizando durante el curso. La entrega deberá ser regular y no una única entrega final. El profesor podrá solicitar tanto la repetición de una práctica como su ampliación. Se valorará la calidad de los programas entregados. Valoración del Profesor En la nota del profesor se tendrá en cuenta varios parámetros. En primer lugar el profesor considerará la calidad del trabajo realizado por el alumno en el conjunto de la asignatura. En segundo lugar la participación del alumno en las actividades de la asignatura especialmente su motivación y participación mediante cuestiones y propuestas, tanto en las clases teóricas como prácticas. |
Fuentes de información |
Acceso a la Lista de lecturas de la asignatura |
Básica | |
"Orfali, R.; Harkey, D.; Edwards, J. ""Client/Server Survival Guide"" John Wiley & Sons, 1999. (Existe versión en castellano)
|
|
Complementaria | |
Kart Wall et al. "Programación en Linux" 2ª Edición. Prentice Hall, 2001.
|