Download [05] Lenguajes de Programacion - 2008-II
Document related concepts
Transcript
SILABO DEL CURSO LENGUAJES DE PROGRAMACIÓN 1. DATOS GENERALES 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. Facultad Carrera Profesional Departamento Tipo de Curso Requisito Ciclo de estudios Duración del curso Inicio Término 1.8. Extensión Horaria 1.9. Créditos 1.10. Periodo lectivo 1.11. Docente : : : : : : : : : : : : : Ingeniería Ingeniería de Sistemas Ingeniería de Sistemas Obligatorio Análisis y Diseño de Algoritmos V 18 semanas 18 de Agosto de 2008 20 de Diciembre de 2008 4 horas (2h Teoría, 2h Laboratorio) 03 2008-2 Ing. Ivan Sipirán Mendoza [email protected] 2. FUNDAMENTACIÓN Este curso es un curso teórico/práctico en donde el alumno conocerá la teoría fundamental de los lenguajes de programación y de esta manera cuenten con una formación sólida en el área de ciencias de la computación. Es importante notar que los tópicos a estudiar en este curso le ayudarán al alumno a tener un carácter crítico con respecto a la creación y utilización de nuevas tecnologías de computación, en especial aquellas relacionadas con el estudio de los lenguajes de programación, su análisis, diseño, construcción y utilización efectiva. El curso se centrará en el estudio de los componentes y etapas de construcción de un lenguaje de programación. Además se le presentará a los alumnos dos nuevos paradigmas de programación: la programación funcional y la programación lógica. 3. COMPETENCIA Al terminar el curso, el alumno será capaz de: • Conocer los Principios y Fundamentos de los Lenguajes de Programación, para su diseño e implementación. • Comprender los procesos básicos de un lenguaje de programación. • Aplicar los principales paradigmas de programación, utilizando casos de estudio en lenguajes como C, scheme, Prolog. 4. OBJETIVOS ESPECÍFICOS DEL CURSO 4.1. Comprender los principios que rigen el diseño de lenguajes de programación. 4.2. Conocer los diversos paradigmas de programación existentes. 4.3. Comprender la importancia de los lenguajes de programación funcionales. 4.4. Representar información en un lenguaje de programación funcional. 4.5. Comprender la importancia de la programación lógica en la construcción de sistemas inteligentes. 4.6. Comprender la representación de conocimiento empleando la lógica de primer orden. 4.7. Comprender el proceso de inferencia en lenguajes lógicos. 1 5. CONTENIDOS CONCEPTUALES 5.1. Principios de los Lenguajes de Programación 5.2. Análisis Léxico y Sintáctico. 5.3. Programación Funcional. 5.4. Tipos de datos, estructuras y formas funcionales disponibles en lenguajes funcionales. 5.5. Programación Lógica 5.6. Fórmulas Lógicas y Lógica de Primer Orden 5.7. Resolución SLD 5.8. Listas en Prolog 6. CONTENIDOS PROCEDIMENTALES 6.1. Desarrolla los dos componentes iniciales de análisis de un lenguaje de programación: Analizador léxico y analizador sintáctico. 6.2. Construye programas bajo el paradigma de programación funcional. 6.3. Representa conocimiento y desarrolla programas sobre el paradigma de programación lógica. 7. CONTENIDOS ACTITUDINALES • • • • Responsabilidad Trabajo en Equipo Solidaridad Ética 8. METODOLOGÍA GENERAL DEL CURSO 8.1. Taller grupal en clase, para que los alumnos construyan conocimiento a partir de sus experiencias previas con los temas a tratar. 8.2. Prácticas de laboratorio, para que el alumno demuestre y aplique los conocimientos vistos en clase. 8.3. Prácticas integradoras, como medio para que los alumnos desarrollen las capacidades prácticas de los temas tratados y como preparación para las evaluaciones parciales. 8.4. Desarrollo y exposición de proyecto, donde los estudiantes apliquen el conocimiento dado en el curso a problemas de mayor complejidad, de forma que los alumnos puedan extender sus conocimientos. En estos proyectos recibirá la guía y asesoría del docente. 9. PROGRAMACIÓN Unidad 1. Fundamentos de los Lenguajes de Programación. (5 semanas) 2. Paradigma de Programación Funcional. (4 semanas) Sem. 1 Actividad • Recopilación de saberes previos • Examen de entrada • Encuesta de intereses y objetivos del curso • Discusión de objetivos planteados del curso y formas metodológicas • Creación de grupos de trabajo 2 • Principios y fundamentos de los Lenguajes de Programación • Presentación de proyectos tentativos y conformación de los grupos de trabajo 3 • El proceso de reconocimiento de palabras de un lenguaje de programación. • Lenguajes interpretados y lenguajes compilados. 4 • Gramáticas de los lenguajes de programación 5 Practica integradora Evaluación T1 FUENTES BIBLIOGRÁFICAS: [1] Capítulos 3,4 [2] Capítulos 2, 3, 4, 5, 6 [3] Capítulo 1, 2, 3, 7 6 • Fundamentos de la programación funcional. • Caso de estudio en el laboratorio: Programación Funcional con Scheme. 7 • EL lenguaje de programación Scheme • Práctica de laboratorio: Tipos de datos y estructuras en Scheme. 2 8 2. Paradigma de Programación Funcional(Continu ación) (1 semana) 3. Paradigma de Programación Lógica (5 semanas) Práctica de programación funcional integradora Evaluación T2 FUENTES BIBLIOGRÁFICAS: [1] Capítulos 15 [3] Capítulo 11 9 EXAMEN PARCIAL 10 • Formas funcionales en Scheme • Práctica de Laboratorio: Formas funcionales en Scheme FUENTES BIBLIOGRÁFICAS: [1] Capítulos 15 [3] Capítulo 11 11 • Introducción a la Programación Lógica • Caso de estudio en el laboratorio: Programación Lógica • Fórmulas Lógicas • Práctica de laboratorio: Creación de fórmulas lógicas en Prolog • Evaluación T3 13 • Proceso de Inferencia Lógico • Práctica de Laboratorio: Creación de hechos y reglas en Prolog. 14 • Listas en Prolog • Práctica de Laboratorio: Creación de predicados para manejo de listas. • Evaluación T4 15 • Listas de Listas en Prolog • Práctica de Laboratorio: Creación de Listas de Listas en Prolog 16 • Evaluación T5 (exposición y trabajos) FUENTES BIBLIOGRÁFICAS: [2] Capítulo 16 [3] Capítulo 11 12 17 18 EXAMEN FINAL EXAMEN SUSTITUTORIO 10. SISTEMA DE EVALUACIÓN DEL CURSO El cronograma de la evaluación continua del curso es el siguiente: ESPECIFICACIÓN DE TRABAJOS DEL CURSO Descripción T T1 T2 T3 T4 T5 Resumen de Lectura sobre Lenguajes de Programación Solucionar un problema planteado por el docente en el laboratorio, empleando programación funcional Resumen sobre Lectura de Programación Lógica Solucionar un problema planteado por el docente en el laboratorio, empleando programación lógica Presentación de trabajos finales Semana 5 8 12 14 16 El peso de cada T es: EVALUACIÓN T01 T02 T03 T04 T05 TOTAL PESO (%) 10 15 20 25 30 100% ESCALA VIGESIMAL 1,2 1,8 2,4 3,0 3,6 12 Los pesos ponderados de las clases de evaluación son los siguientes: EVALUACIÓN PARCIAL CONTINUA (Ts) PESO (%) 20 60 ESCALA VIGESIMAL 4 12 3 FINAL TOTAL 20 100% 4 20 11. BIBLIOGRAFÍA OBLIGATORIA # 1 CÓDIGO AUTOR FRIEDMAN, Daniel; WAND, 005.13/F83 Mitchell; HAYNES, Christopher TITULO Essentials of Programming Languages 12. BIBLIOGRAFÍA COMPLEMENTARIA # 2 3 AUTOR SEBESTA, Robert SCOTT,Michael TITULO Concepts of Programming Languages Programming Language Pragmatics 13. REFERENCIAS WEB # 4 5 6 TITULO ENLACE Programming Language http://www.cs.cmu.edu/~mleone/language-research.html Research Researchers in Programming http://www.cs.cmu.edu/~mleone/language-people.html Languages and Compilers The Language Guide http://www.engin.umd.umich.edu/CIS/course.des/cis400/ 4