Download programa oficial

Document related concepts

Mercury (lenguaje) wikipedia , lookup

Programación funcional wikipedia , lookup

Haskell wikipedia , lookup

Curry (lenguaje de programación) wikipedia , lookup

Lisp wikipedia , lookup

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