FICHA DE ASIGATURAS DE IGEIERO E IFORMATICA PARA GUÍA DOCETE.
EXPERIECIA PILOTO DE CRÉDITOS EUROPEOS. UIVERSIDADES ADALUZAS
DATOS BÁSICOS DE LA ASIGATURA
NOMBRE: PROGRAMACIÓN AVANZADACÓDIGO: 3104008 AÑO DE PLAN DE ESTUDIO: 2005
TIPO (troncal/obligatoria/optativa) : Obligatoria Créditos totales (LRU /
ECTS): 6/5
Créditos LRU/ECTS teóri-cos: 3/2.5
Créditos LRU/ECTS prácti-cos: 3/2.5
CURSO: 1º CUATRIMESTRE: 1º CICLO: 1º
DATOS BÁSICOS DE LOS PROFESORES
NOMBRE: Nicolás García Pedrajas y Rafael del Castillo Gomariz CENTRO/DEPARTAMENTO: Informática y Análisis Numérico ÁREA: Ciencia de la Computación
Nº DESPACHO: E-MAIL:
npedrajas,[email protected]
TLF: 957-211032 957 - 211042 URL WEB:
DATOS ESPECÍFICOS DE LA ASIGATURA
1. DESCRIPTORProgramación distribuida y paralela. 2. SITUACIÓ
La asignatura es de carácter obligatorio y constituye la primera aproximación a la programación distribuida y paralela desde un punto de vista práctico.
2.1. PRERREQUISITOS: Ninguno.
2.2. COTEXTO DETRO DE LA TITULACIÓ: Asignatura obligatoria del primer curso del segundo ciclo, cuatrimestral del primer cuatrimestre, del área de Ciencias de la Computación e Inteligencia Artificial, que unifica la formación anterior en este ámbito de los alumnos y crea unos fundamentos comunes para materias avanzadas específicas posteriores.
2.3. RECOMEDACIOES: Cursarla en el lugar en el que se ubica, es decir, en el primer curso de segundo ciclo, ya que otras materas posteriores la utilizarán como fundamento.
3. COMPETECIAS
3.1. COMPETECIAS TRASVERSALES/GEÉRICAS:
Conocimientos de Informática (G5).
Resolución de Problemas (G7): Para la titulación de Ingeniería de Informática de
Sistemas, dadas sus atribuciones competencias profesionales están enfocadas hacia la resolución de problemas del mundo real. En esta asignatura se abordara la resolución de problemas de distribución de procesos, de gestión de dispositivos de entrada /salida, de aplicaciones multihilos, etc.
Razonamiento crítico (G12): Los métodos de aprendizaje de la materia exigen la
Aprendizaje Autónomo (G15): Desarrollando la capacidad del alumno para poder
generalizar los conceptos aprendidos en la enseñanza reglada.
Creatividad (G17): La resolución de problemas reales mediante la programación,
requiere un esfuerzo creativo de análisis y diseño. 3.2. COMPETECIAS ESPECÍFICAS:
uevas Tecnologías TIC (E3).
Matemáticas (E9): en la materia ASO es necesario poder analizar rendimientos del
sistema informático a través de modelos matemático-estadísticos.
Conocimientos de Informática (E18).
Planificación y Programación (E21): la realización de algoritmos para la distribución
de procesos mediante modelos de cliente-servidor, de rendezvous o de RPC, requiere una capacidad de organización y de planificación previa.
4. OBJETIVOS
El objetivo fundamental es ofrecer una visión general de los diferentes paradigmas de programación distribuida y paralela.
Una vez finalizada con éxito la asignatura el alumno deberá conocer los siguientes aspectos relativos al diseño de un sistema operativo:
Concepto de programación distribuida y paralela. Diferencias entre estos dos
modelos de programación.
Herramientas básicas de programación distribuida y paralela. Mecanismos de
comunicación entre procesos distribuidos. Programación de sockets.
Concepto de ejecución remota de procesos. Uso del paradigma de llamada a procedimientos remotos.
Paradigmas de última generación: Aplicaciones colaborativas, agentes móviles, etc. Por otro lado, se deben plantear los objetivos de la parte práctica de la asignatura. Estos objetivos serán:
Programación en Python.
5. METODOLOGÍA
ÚMERO DE HORAS DE TRABAJO DEL ALUMO: PRIMER CUATRIMESTRE:
Nº de Horas:
• Clases Teóricas*: 21 • Clases Prácticas*: 21
• Exposiciones y Seminarios sobre el trabajo*: 18 • Otro Trabajo Personal Autónomo:
A) Horas de estudio: 47
B) Preparación de Trabajos: 20 • Realización de Exámenes: A) Examen: 6
6. TÉCICAS DOCETES (señale con una X las técnicas que va a utilizar en el desarrollo de su asignatura. Puede señalar más de una. También puede sustituirlas por otras):
Sesiones académicas teóricas X
Exposición de trabajos: X
Tutorías especializadas:
Sesiones académicas prácticas X
Visitas y excursiones:
Controles de lecturas obligatorias:
Otros (especificar): Se propiciará la utilización de medios audiovisuales.
DESARROLLO Y JUSTIFICACIÓ:
La teoría se expondrá como lección magistral con apoyo de medios audiovisuales. Las clases magistrales se usarán para situar cada parte de la materia, exposición de casos prácticos y discusión de tópicos y técnicas planteadas.
Motivar al alumno para la participación y la realización de su propio trabajo de ampliación de conocimiento en la materia.
Desarrolladas en laboratorios adecuadamente dotados, consistentes en clases prácticas de problemas y ejemplos. El alumno debe afrontar la resolución de problemas reales, de forma individual y en grupo, incluyendo trabajos de implementación de los conceptos estudiados en las lecciones teóricas.
Las sesiones prácticas estarán orientadas a realizar programas de ordenador mediante el uso de los paradigmas estudiados en clase.
7. BLOQUES TEMÁTICOS (dividir el temario en grandes bloques temáticos; no hay número mí-nimo ni máximo)
Tema I: Introducción a la computación distribuida y paralela. Tema II: Paradigmas de la computación distribuida.
Tema III: Paradigma cliente-servidor.
Tema IV: Introducción a la computación paralela.
Bloque 1. Programación en Python 8. BIBLIOGRAFÍA
8.1 GEERAL
M. L. Liu, Computación distribuida. Fundamentos y aplicaciones, Addison-Wesley, 2004. C. Hughes, T. Hughes, Parallel and Distributed Programming Using C++, Addison-Wesley, 2003.
M. Ben--Ari, Principles of concurrent and distributed programming, Pearson Education Limited, 1990.
G. R. Andrews,Foundations of multithreaded, parallel, and distributed programming, Addison-Wesley, 2000.
W. Richard Stevens, UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentice Hall, 1998.
8.2 ESPECÍFICA (con remisiones concretas, en lo posible)
M. J. Bach, The design of the UNIX operating system, Prentice Hall Software Series, Englewood Cliffs, NJ, 1986. Este libro está especialmente recomendado para la parte práctica final de cada tema de teoría.
K. A. Robbins, S. Robbins, UIX Programación práctica, Prentice Hall, México, 1997. Libro muy interesante para la parte práctica de la asignatura.
G. R. Andrews, Foundations of multithreaded, parallel, and distributed programming, Addison -- Wesley, Reading, 2000. Libro de ampliación de conocimientos sobre programación concurrente.
9. TÉCICAS DE EVALUACIÓ (enumerar, tomando como referencia el catálogo de la co-rrespondiente Guía Común)
• Examen de teoría. El examen consistirá en una serie de cuestiones teóricas breves y varios problemas. En ambos casos se trata de aplicar los conocimientos teóricos.
• Examen de prácticas. Programación de un ejercicio similar a los expuestos en prácticas sin ningún tipo de material auxiliar.
Criterios de evaluación y calificación (referidos a las competencias trabajadas durante el curso):
Tanto la parte teórica como la parte práctica será evaluada mediante un único examen final.
La parte teórica de la asignatura se evaluará mediante examen final escrito. Este examen final constará de problemas y ejercicios prácticos de aplicación de los conocimientos teóricos introducidos en cada uno de los temas de la asignatura. No se preguntarán desarrollos teóricos, sino la aplicación de los conocimientos teóricos a casos específicos.
final por parte de los alumnos de forma individual. Este examen práctico consistirá en la realización de un problema similar a los expuestos en las prácticas de la asignatura. El uso de material adicional para este examen será considerado en función de las diferentes circunstancias que concurran.
Distribuya el número de horas que ha respondido en el punto 5 en el calendario académico oficial de la UCO para el curso 2007-2008
10. ORGANIZACIÓN DOCENTE SEMANAL (Sólo hay que indicar el número de horas que a ese tipo de sesión va a dedicar el estudiante cada semana)
SEMANA Nº de ho-ras de se-siones Teóricas Nº de horas sesiones prácticas Nº de horas Exposiciones y seminarios Nº de horas Visitas y ex-cursiones Nº de horas Tutorías espe-cializadas Nº de horas Control de lecturas obligatorias
Exámenes Temas del temario a tratar Primer Cuatrimestre T1 1ª semana 29-sep 2 T1 2ª semana 06-oct 2 T2 3ª semana 13-oct 2 T2 4ª semana 20-oct 2 2 T2 5ª semana 27-oct 2 2 2 T2 6ª semana 03-nov 2 2 2 T3 7ª semana 10-nov 2 2 2 T3 8ª semana 17-nov 2 2 2 T3 9ª semana 24-nov 2 2 2 T3 10ª semana 1-dic 2 2 2 T3 11ª semana 08-dic 1 2 2 T3 12ª semana 15-dic 2 2 T3 13ª semana 5-ene 2 2 T4 14ª semana 12-ene 1 T4 15ª semana 19-ene T4
Exámenes primer
12. MECAISMOS DE COTROL Y SEGUIMIETO (al margen de los contemplados a nivel general para toda la experiencia piloto, se recogerán aquí los mecanismos concretos que los docentes propongan para el seguimiento de cada asignatura):
• Evaluación del grado de cumplimento de las actividades programadas • Evaluación del grado de cumplimiento de las prácticas programadas
• Coordinación de los profesores del curso para distribuir los trabajos de las diferentes asignaturas
Como complemento de la asignatura, los alumnos podrán realizar, de forma voluntaria, trabajos que completen los conocimientos adquiridos en la clase. Estos podrán ser de tipo teórico o de aplicación de los conocimientos en la realización de programas. Aquellos trabajos más interesantes serán susceptibles de ser expuestos como seminarios por los autores.