Download 1 - Universidad de Alcalá
Document related concepts
Transcript
1. TITULACIÓN Ingeniero Técnico en Informática de Sistemas 2. NOMBRE DE LA ASIGNATURA Programación Avanzada 3. CÓDIGO DE LA ASIGNATURA 30384 4. CARÁCTER Obligatoria 5. CURSO segundo 6. PERIODO Segundo Cuatrimestre 7. Nº DE CRÉDITOS 4,5 (3 Teóricos + 1,5 Prácticos) 8. DEPARTAMENTO Ciencias de la Computación 9. ÁREA DE CONOCIMIENTO (*) Lenguajes y Sistemas Informáticos Ciencias de la Computación e Inteligencia Artificial (*) Si la asignatura se imparte desde más de un Área de Conocimiento de manera compartida, indíquese posteriormente el número de créditos de cada tipo impartidos desde cada Área. 10. PROFESORADO Responsable/s de la materia Resto del profesorado Personal colaborador 11. HORARIO Teoría Práctica 12. LUGAR DE IMPARTICIÓN Teoría Práctica 13. OBJETIVOS DOCENTES DE LA ASIGNATURA Con esta asignatura se pretende que el alumno conozca otros paradigmas de programación diferentes de la programación secuencial imperativa utilizada en las asignaturas cursadas anteriormente. Se estudiarán con detalle la programación funcional y la programación paralela. Se realizarán ejercicios que permitan ilustrar las características más relevantes de estos paradigmas. Se presentará la programación de tiempo real. Se describirán otras técnicas de programación. 14. CONTENIDO (PROGRAMA) Parte Teórica GRUPO TEMÁTICO 1: Introducción. (2 horas) TEMA 0.- CONCEPTOS BASICOS. Paradigmas de programación. Programación imperativa. Programación secuencial. Programación Lógica. Programación Funcional. Programación paralela: concurrente y distribuida. Programación de sistemas en tiempo real. GRUPO TEMÁTICO 2: PROGRAMACION FUNCIONAL. (21 horas) TEMA 2.- INTRODUCCION A LA PROGRAMACION FUNCIONAL. Fundamentos matemáticos. Funciones. Concepto. Operaciones. Aplicación de funciones. Funciones parciales. Lenguajes de Programación Funcional. Tipos básicos. Tipos definidos por el programador. Constructores. Tipos recursivos. Listas. Arboles. Tipos polimórficos. Operaciones. Definición de funciones. Funciones recursivas. TEMA 3.- CONCEPTOS AVANZADOS DE PROGRAMACIÓN FUNCINAL Funciones en dominio, Currificación. Funciones polimórficas. Definiciones locales. Ficheros. Metodología de diseño de programas funcionales. Complejidad. GRUPO TEMÁTICO 3: PROGRAMACION PARALELA.(20 horas) TEMA 4.- INTRODUCCION A LA PROGRAMACION 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. TEMA 5.- PROGRAMACION CONCURRENTE. Variables Compartidas. Exclusión mutua. Algoritmo de Dekker. Semáforos. Deadlock. Regiones Críticas. Monitores. Programación de Sistemas en tiempo real. Lenguajes de programación concurrente. TEMA 6.- PROGRAMACION DISTRIBUIDA. Intercambio de mensajes. Comunicación síncrona y asíncrona. Rendez-vous. Canales. Llamadas a procedimientos remotos. Lenguajes de programación distribuida. GRUPO TEMÁTICO 4: OTRAS TÉCNICAS DE PROGRAMACIÓN. (2 horas) TEMA 7.- INTRODUCCION A LA PROGRAMACION DE TIEMPO REAL. TEMA 8.- OTRAS TÉCNICAS AVANZADAS DE PROGRAMACIÓN. Parte Práctica 15. BIBLIOGRAFÍA Bibliografía Básica GUTIERREZ, JOSE MARIA. 2005. Paradigmas de la programación. Universidad de Alcalá. BEN-ARI, M. 1990. Principles of Concurrent and Distributed Programming. Ed. Prentice-Hall. DELGADO, C. 1992. Programación Funcional y Definición de Lenguajes de Programación. Ed. DIT, Universidad Politécnica de Madrid. PEREZ, J.E. 1990. Programación Concurrente. Ed. Rueda. Bibliografía Complementaria ANDRREWS, G. Concurrent Programming. Principles and Practice. Ed. Benjamin Cummings, 1991. BIRD, R. Introduction to Functional Programming. Ed. Prentice-Hall, 1988. FREEMAN, T.L. & PHILLIPS, C. Parallel Numerical Algorithms. Ed. Prentice-Hall, 1992. 16. CONOCIMIENTOS PREVIOS RECOMENDADOS En su caso: - Debe haber cursado las asignaturas de fundamentos, metodología y tecnología de la programación. Sin ellas, no estará en condiciones de cursar la asignatura. - Conocimientos que debería poseer el alumno de su formación anterior. Por ejemplo de bachillerato. 17. METODOLOGÍA DE IMPARTICIÓN Parte Teórica Metodología de clase magistral combinada con resolución de problemas y casos. Los recursos didácticos utilizados serán: pizarra, proyector de transparencias e Intranet de materias. Parte Práctica Ídem. 18. MÉTODOS Y CRITERIOS DE EVALUACIÓN Parte Teórica El método de evaluación es la prueba escrita. Con un valor del 100%. Este método es el único viable dado el elevado número de alumnos por grupo. Parte Práctica
Related documents