Créditos ECTS Créditos ECTS: 4.5
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 74.2 Horas de Tutorías: 2.25 Clase Expositiva: 18 Clase Interactiva: 18 Total: 112.45
Lenguas de uso Castellano, Gallego
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Centro Escuela Técnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Sin docencia (En extinción)
Matrícula: No matriculable (Sólo alumnado repetidor)
Esta materia cubre el estudio de la programación declarativa, un paradigma de programación novedoso para el estudiante que aportan habilidades distintas a las desarrolladas en los paradigmas de programación procedural/orientada a objetos. Muchos problemas se resuelven más fácilmente mediante la programación declarativa, que se usan cada vez más en aplicaciones, proyectos a gran escala y entornos empresariales: bases de datos de comercio electrónico, herramientas de gestión financiera, software de predicción económica, sistemas de control de semáforos, herramientas de análisis de texto y lenguaje natural, planificadores, intérpretes de comandos e Inteligencia Artificial.
Los objetivos de esta asignatura son:
Parte 1: Evolución de los paradigmas de programación e introducción a la programación declarativa.
Parte 2: Programación funcional
1 Conceptos fundamentales. Lenguajes funcionales, intérpretes, expresiones, funciones, tipos.
2 Funciones y números. Operadores, prioridades, asociación, currificación, iteración, composición.
3 Estructuras de datos características. Listas, cadenas, caracteres, tuplas, árbores.
4 Aplicaciones de la programación funcional.
Parte 3: Programación lógica
1 Cálculos con relaciones, reglas y hechos, consultas.
2 Introducción a Prolog.
Bibliografía básica:
R. Bird. Introducción a la programación funcional con Haskell . Prentice Hall. (2000). ISBN:9788483221761
L. Sterling, E. Shapiro. The art of PROLOG. MIT press. (1994). ISBN: 9780262193382
Bibliografía complementaria:
¡Aprende Haskell por el bien de todos!. http://aprendehaskell.es/main.html. Último acceso: 20/06/2017
J. Alonso, M.J. Hidalgo. Piensa en Haskell. http://www.cs.us.es/~jalonso/publicaciones/Piensa_en_Haskell.pdf. Último acceso: 20/06/2017
R.L. López Briega. Programación Funcional con Python . https://relopezbriega.github.io/blog/2015/02/01/programacion-funcional-… Último acceso: 16/05/2019
Esta materia cubre las siguientes competencias recogidas en la memoria del título de Grado en Ingeniería Informática (páginas 23-24 e 28-30): CG3, CG4, CG8, CG9, CG10, TR1 (competencias instrumentales: capacidad de análisis y síntesis; comunicación oral y escrita; resolución de problemas), TR2 (personales: razonamiento crítico), TR3 (sistémicas: creatividad), FB3, FB4, RI1, RI6, RI7, RI8, RI15, TI2, TI4, TI6 e TI7.
Competencias asociadas al módulo "Programación":
corrección de programas.
La docencia expositiva se basa en en presentacións de ordenador con las explicaciones de los conceptos de programación, la sintaxis de los lenguajes y la realización de ejercicios de programación. La docencia interactiva se organiza en sesiones semanales de prácticas en laboratorio de ordenadores nas que se ejemplifican los temas explicados en las clases expositivas, desarrollando programas declarativos.
En las clases expositivas se trabajarán las competencias CG8, CG9, TR2, TR3 (planteamiento de problemas que requieren toma de decisiones,
comparando distintas alternativas posibles), FB3 (problemas de análisis de algoritmos), FB4, RI1, RI6, RI7, RI8 y RI15. En las clases interactivas se trabajarán las competencias CG3, CG4, CG8, CG9 (mediante el planteamiento de problemas prácticos a resolver presentando los resultados), TR1 (entrega de informes escritos), TR3 (problemas que requieran búsqueda de soluciones autónomamente), FB3, FB4, RI1, RI6, RI7, RI8 y RI15.
Oportunidad de enero: la evaluación se realiza mediante:
1) Evaluación continua: mediante la resolución de ejercicios propuestos durante las clases expositivas e interactivas.
2) Examen final.
La nota final (NF) de la asignatura se calcula mediante la siguiente fórmula:
NF=70% Evaluación continua + 30% Examen final
El peso de la evaluación continua puede incrementarse hasta un 20% con la realización de actividades optativas. No es requisito indispensable presentarse al examen final para aprobar la asignatura.
Oportunidad de julio: se realiza un examen con la misma puntuación que en la oportunidad de enero, conservándose la nota obtenida durante el proceso de evaluación continua (del mismo curso académico).
Evaluación como "No presentado": excepto cambios en la normativa de la Universidad que afecten a este particular, la condición para una evaluación de "No presentado" será que no se presente al examen final. Por lo tanto, se evaluará como "No presentado" quien no se haya presentado a la evaluación continua y no se presente al examen final.
Estudant@s repetidores: se emplearán los criterios de evaluación anteriores.
Clases de pizarra: 18 h presenciales + 27 h trabajo autonomo del alumno
Clases de prácticas: 19 h presenciales + 28.5 h trabajo autonomo del alumno
Tutorias y Actividades de evaluacion: 8 h presenciales + 12 h trabajo autonomo del alumno
Total horas presenciales: 45h
Total horas trabajo autonomo: 67,5h
Se recomienda realizar todos los ejercicios de los boletines y usar las tutorías para la resolución de dudas.
Toda la información de la asignatura se encuentra en el curso virtual de la USC.