UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERIAS

Anuncio
UNIVERSIDAD DE GUADALAJARA
CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERIAS
DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN
DEPARTAMENTO DE CIENCIAS COMPUTACIONALES
DATOS GENERALES
CLAVE DE MATERIA
:
CC307
PRERREQUISITO
:
CC208
NOMBRE DE LA MATERIA
:
PROGRAMACIÓN LÓGICA Y FUNCIONAL
TIPO
:
TEORÍA
ÁREA DE FORMACIÓN
:
ESPECIALIZANTE SELECTIVA
DEPTO. DE ASCRIPCIÓN
:
CIENCIAS COMPUTACIONALES
ACADEMIA
:
TÉCNICAS MODERNAS DE PROGRAMACIÓN
CARGA HORARIA GLOBAL
:
80 HORAS
CARGA HORARIA SEMANAL
:
4 HORAS
VALOR EN CRÉDITOS
:
11 CRÉDITOS
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.
FECHA DE ACTUALIZACION
:
JULIO-2004
CALENDARIO DE APLICACIÓN :
2006A
OBJETIVO ESPECÍFICO
EN CADA MÓDULO DEL CONTENIDO
TEMÁTICO PRINCIPAL
:
PROGRAMACIÓN LÓGICA Y FUNCIONAL
1
UNIVERSIDAD DE GUADALAJARA
DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN
DEPARTAMENTO DE CIENCIAS COMPUTACIONALES
PROGRAMACIÓN LÓGICA Y FUNCIONAL
CONTENIDO TEMÁTICO PRINCIPAL
Módulo 1. Programación Lógica
[40 horas]
Objetivo: El alumno conocerá y empleará los conceptos elementales y superiores del paradigma
de la Programación Lógica para el desarrollo de aplicaciones
1.1 Unificación y Retroceso
1.2 Bases de Datos en prolog
1.3 Inducción Matemática y algoritmos sobre listas
1.4
1.5
1.6
1.7
1.8
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.
1.4.2 Representación de grafos como BD.
1.4.3 Recorridos en árboles y grafos.
1.4.4 Algoritmos de Kruskal/Djiskstra/Primm y similares...
Introducción a IA.
1.5.1 Representación de problemas como un grafo.
1.5.2 El problema del agente viajero.
1.5.3 Heurísticas [Hill climbing, Best-first, etc.]
Uso de operadores en Prolog.
1.6.1 Solución simbólica de ecuaciones algebraicas.
Árboles SLD.
Sistemas expertos.
[4 horas]
[3 horas]
[8 horas]
[8 horas]
[8 horas]
[3 horas]
[3 horas]
[3 horas]
Recomendaciones: Realizar sesiones explicativas (breves) para reafirmar los conceptos de listas, árboles
binarios, árboles balanceados, grafos, grafos bipartitos y algoritmos heurísticos.
Módulo 2. Programación Funcional
[40 horas]
Objetivo: El alumno identificará y ejemplificará a través de ejercicios prácticos y/o
ilustraciones el poder de explotar el paradigma de la Programación Funcional
1.1 Calculo Lambda.
1.2 Funciones básicas de LISP.
1.3 Algoritmos sobre listas.
1.3.1 Algoritmos básicos sobre listas.
1.3.2 Algoritmos de ordenación.
1.4 Algoritmos sobre árboles y grafos
1.4.1 Árboles binarios/balanceados y recorridos.
1.4.2 Algoritmos clásicos de grafos Kruskal/Prim/etc.
1.5 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.
1.6 Estructuras y POO [CLOS] en LISP.
PROGRAMACIÓN LÓGICA Y FUNCIONAL
[2 horas]
[8 horas]
[8 horas]
[8 horas]
[6 horas]
[8 horas]
2
Recomendaciones: Realizar sesiones explicativas (breves) para establecer las diferencias entre Scheme y
Common Lisp, el recolector de basura de lisp, el proceso de recursión en lisp y las funciones de primera
clase.
METODOLOGÍA DEL CURSO
- Sesiones teóricas
- Prácticas de laboratorio
EVALUACIÓN
50% Exámenes Teóricos
15% Proyectos Prácticos
15% Exposición
15% Tareas
5% Asistencia
BIBLIOGRAFÍA BÁSICA
"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
"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”
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
PROGRAMACIÓN LÓGICA Y FUNCIONAL
3
-
Copias
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 Inteligencia Artificial y 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.
PROGRAMACIÓN LÓGICA Y FUNCIONAL
4
Descargar