Download programa oficial
Document related concepts
Transcript
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES DATOS GENERALES CLAVE DE LA MATERIA : CC308 NOMBRE DE LA MATERIA FUNCIONAL : TALLER DE PROGRAMACIÓN LÓGICA TIPO : TALLER ÁREA DE FORMACIÓN : ESPECIALIZANTE SELECTIVA DEPTO. DE ADSCRIPCIÓN : CIENCIAS COMPUTACIONALES ACADEMIA : TÉCNICAS MODERNAS DE PROGRAMACIÓN CARGA HORARIA GLOBAL : 60 HORAS CARGA HORARIA SEMANL : 3 HORAS VALOR EN CRÉDITOS : 4 CRÉDITOS ÚLTIMA ACTUALIZACIÓN : JULIO 2004 CALENDARIO DE APLICACIÓN : 2006A OBJETIVO GENERAL : INTRODUCIR LOS CONCEPTOS PRÁCTICOS Y TEÓRICOS FUNDAMENTALES DE LA PROGRAMACIÓN LÓGICA Y LA PROGRAMACIÓN FUNCIONAL, INCLUYENDO TANTO EL PUNTO DE VISTA METODOLÓGICO COMO LOS ASPECTOS RELATIVOS A LA CODIFICACIÓN EN LENGUAJES ESPECÍFICOS, CON EL FIN DE QUE EL ALUMNO AMPLIÉ SU VISÓN CON EL CONOCIMIENTO DE TECNOLOGÍAS ALTERNATIVAS PARA EL DESARROLLO DE SISTEMAS. TALLER DE PROGRAMACIÓN LÓGICA Y FUNCIONAL 1 OBJETIVO ESPECÍFICO TEMÁTICO PRINCIPAL : EN CADA MÓDULO DEL CONTENIDO UNIVERSIDAD DE GUADALAJARA DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES TALLER DE PROGRAMACIÓN LÓGICA Y FUNCIONAL CONTENIDO TEMÁTICO PRINCIPAL Módulo 1. Programación Lógica [30 horas] Objetivo: Presentar y conocer el punto de vista de poder explotar el paradigma de la Programación Lógica 1.1 Práctica sobre Unificación y Retroceso 1.2 Práctica sobre Bases de Datos en Prolog 1.3 Práctica sobre Matemática y algoritmos sobre listas 1.4 1.5 1.6 1.7 [4 horas] [6 horas] [6 horas] 1.3.1 Algoritmos básicos sobre listas. 1.3.2 Algoritmos de ordenación. Práctica sobre árboles y grafos [6 horas] 1.4.1 Árboles binarios/balanceados. 1.4.2 Representación de grafos como BD. 1.4.3 Recorridos en árboles y grafos. 1.4.4 Algoritmos de Kruskal/Djiskstra/Prim y similares... Uso de operadores en Prolog. [2 horas] 1.5.1 Solución simbólica de ecuaciones algebraicas. Práctica sobre procesamiento del lenguaje natural usando DCG. [3 horas] Práctica sobre sistemas expertos. [3 horas] Recomendaciones: Realizar sesiones explicativas (breves) para reafirmar cada uno de los puntos especificados en la parte superior y el alumno pueda desarrollar mejor sus habilidades. Módulo 2. Programación Funcional [30 horas] Objetivo: Presentar y conocer el punto de vista de poder explotar el paradigma de la Programación Funcional 1.1 1.2 1.3 1.4 1.5 1.6 Uso del Calculo Lambda. Funciones básicas de LISP. Algoritmos sobre listas. 1.3.1 Algoritmos básicos sobre listas. 1.3.2 Algoritmos de ordenación. Algoritmos sobre árboles y grafos 1.4.1 Árboles binarios/balanceados y recorridos. 1.4.2 Algoritmos clásicos de grafos Kruskal/Prim/etc. Introducción a IA. 1.5.1 Revisar los mismos algoritmos vistos en la Parte I. 1.5.2 Problema del agente viajero, heurísticas, etc. Estructuras y POO [CLOS] en LISP. TALLER DE PROGRAMACIÓN LÓGICA Y FUNCIONAL [2 horas] [6 horas] [5 horas] [6 horas] [6 horas] [5 horas] 2 Recomendaciones: Realizar sesiones explicativas (breves) para reafirmar cada uno de los puntos especificados en la parte superior y el alumno pueda desarrollar mejor sus habilidades. METODOLOGÍA DEL CURSO Sesiones de Laboratorio EVALUACIÓN 40% Proyectos y Prácticas 60% Proyecto Final BIBLIOGRAFÍA BÁSICA “The Art of Prolog” Leon Sterling & Ehud Shapiro MIT Press “Programming in Prolog” Clocksin & Mellish Springer-Verlag "Logic, Programming and Prolog" Ulf Nilsson and Jan Maluszynski Segunda Edición, Noviembre 2000. Ed. Addison Wesley “Lisp” Henry, Patrick; Horn Tercera Edicion Ed. McGraw Hill BIBLIOGRAFÍA COMPLEMENTARIA “Prolog Programming for Artificial Intelligence” Bratko Ivan Addison-Wesley "Artificial Intelligence: A Modern Approach" Russell, Stuart; Norvig, Peter Segunda Edición, Diciembre 2002. Ed. Pearson. “Sistemas Expertos” Principios y Programación Giarratano Riley Tercera edición, 2001 Ed. Thomson Editores “The AutoCADET's Guide to Visual LISP” Bill Kramer, Bil Kramer Diciembre, 2001 Ed. CMP Books “Adventure in Prolog” TALLER DE PROGRAMACIÓN LÓGICA Y FUNCIONAL 3 Febrero 1997 Ed. Amzi Prolog MATERIAL DE APOYO ACADÉMICO - Pintarrón Plumones para pintarrón Computadora Cañón de proyección Compilador para un lenguaje funcional Compilador para un lenguaje lógico Copias Tutoriales en Internet COMPETENCIAS QUE SE PUEDEN ADQUIRIR - El estudiante al concluir el curso tendrá, adicionalmente a los contenidos recibidos en clase, un visión más amplia acerca del tratamiento de información y conocimiento, y la posibilidad para aplicar mecanismos alternativos, como el tratamiento de problemas complejos, el aprendizaje y los mecanismos heurísticos; a diferencia de los clásicos que se estudian la mayor parte del tiempo durante su formación en el área de sistemas. - El estudiante comprenderá cuales son las ventajas significativas de programar en ambos lenguajes (lógico y funcional) y discernir sobre cual seria la mejor opción para implementar un sistema experto, la representación del conocimiento, el aprendizaje, la experiencia, etc. - El estudiante fomentara su sentido de percepción para solucionar problemas en forma lógica o en forma funcional. APLICACIÓN PROFESIONAL - Las personas que cursan la materia de Taller de Programación Lógica y Funcional llegan a involucrarse con la misma a este nivel (licenciatura) tendrán una mayor tendencia hacia el estudio de postgrados y, por supuesto, la investigación científica que ello implica. CRITERIOS DE ACREDITACION - El estudiante debe dominar y conocer los diferentes conceptos que se analizan en el curso. El estudiante debe demostrar capacidad para poner en práctica los conceptos del curso a un nivel que sea congruente con la preparación que el estudiante ha recibido. Debe observarse calidad y buen desempeño en las prácticas y los proyectos que se soliciten al estudiante. TALLER DE PROGRAMACIÓN LÓGICA Y FUNCIONAL 4