Download LenguajesDeProgramación_SílaboUPN_2011
Document related concepts
Transcript
SÍLABO DEL CURSO LENGUAJES DE PROGRAMACION FACULTAD DE INGENIERÍA Y ARQUITECTURA CARRERA DE INGENIERÍA DE SISTEMAS 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 y Arquitectura Ingeniería de Sistemas Ingeniería de Sistemas Obligatorio Análisis y Diseño de Algoritmos VI 17 semanas 22 de agosto del 2011 17 de diciembre del 2011 4 horas semanales (2 horas teoría y 2 horas laboratorio) 3 2011-2 Ing. José Luis Peralta Luján [email protected] [email protected] 2. FUNDAMENTACION Este curso es de naturaleza teórico/práctico, el alumno conocerá la teoría fundamental de los lenguajes de programación y de esta manera podrá contar con una formación sólida en el área de ciencias de la computación. Es importante resaltar que los tópicos a estudiar ayudarán 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. Además de estudiar los componentes y etapas de construcción de un lenguaje de programación se presentará a los alumnos paradigmas de programación como programación orientada a objetos, programación funcional y programación lógica. Y al final se analizarán lenguajes de programación para el desarrollo de firmware. 3. COMPETENCIA Al finalizar el curso el alumno conocerá los principios y fundamentos de los lenguajes de programación para su diseño e implementación, comprenderá procesos básicos de un lenguaje de programación, aplicará los principales paradigmas de programación, utilizando casos de estudio en lenguajes como C, Java, Scheme, Prolog y conocerá lenguajes para el desarrollo de firmware. 4. OBJETIVOS ESPECÍFICOS DEL CURSO OC1. OC2. OC3. OC4. OC5. Conocer y comprender los principios y fundamentos que rigen los lenguajes de programación. Conocer, comprender y aplicar el paradigma de programación orientado a objetos. Conocer, comprender y aplicar el paradigma de programación funcional. Conocer, comprender y aplicar el paradigma de programación lógico. Conocer y comprender los lenguajes de programación para el desarrollo de firmware. 5. CONTENIDOS CONCEPTUALES Principios y fundamentos de los lenguajes de programación. Análisis léxico y sintáctico. Programación orientada a objetos. Programación funcional. Programación lógica. Desarrollo de firmware. 6. CONTENIDOS PROCEDIMENTALES Comprender los dos componentes iniciales de un lenguaje de programación: Analizador Léxico y Analizador Sintáctico. Implementar programas bajo el paradigma de programación orientada a objetos Implementar programas bajo el paradigma de programación funcional. Implementar programas bajo el paradigma de programación lógica. Desarrollar ejemplos y ejercicios: interviene saliendo a la pizarra, mediante trabajos grupales, etc. que le ayudan a su aprendizaje y dominio de la unidad. 7. CONTENIDOS ACTITUDINALES Responsabilidad individual y colectiva. Disposición a la investigación y a la búsqueda de la información adicional. Actitud crítica para el análisis de problemas. Valoración de los conocimientos adquiridos. Disposición al trabajo en equipo. 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 ellos puedan extender sus conocimientos. En estos proyectos recibirá la guía y asesoría del docente. 9. PROGRAMACION UNIDAD UNIDAD 1 Fundamentos de Lenguajes de Programación. (5 semanas) SEM. 1 2 3 4 5 UNIDAD 2 Paradigma de Programación Orientado a Objetos (3 semanas) 6 7 8 ACTIVIDAD Introducción al Curso. Discusión de objetivos planteados y formas metodológicas. Principios y fundamentos de los Lenguajes de Programación. Parte léxica de un lenguaje de programación. Lexemas, tokens y patrones. AFD como reconocedor de palabras. Descripción de la sintaxis. Métodos formales para describir la sintaxis: Notación BNF, BNF extendido, Derivación, Parser Trees, Gramáticas. Presentación de proyectos tentativos y conformación de los grupos de trabajo Análisis Léxico y Sintáctico. Descripción de la semántica. Nombres. Variables. Ligamientos. Evaluación de Tipos, Fuertemente Tipado, Compatibilidad de Tipos. Alcances. Evaluación T1. Fundamentos de la programación orientada a Objetos. Abstracción de datos. Clases y objetos. Encapsulamiento. Herencia. Clases Abstractas. Polimorfismo. Clases Interfaz. Desarrollo de Programas. EXAMEN PARCIAL UNIDAD 3 Paradigma de Programación 2 9 Introducción a la Programación Funcional. Introducción a Lenguaje Scheme. Formas funcionales en Scheme Funcional (2 semana) UNIDAD 4 Paradigma de Programación Lógica (4 semanas) 10 Desarrollo de programas. 11 Introducción a la Programación Lógica. Fórmulas Lógicas. Práctica de Laboratorio: Creación de hechos y reglas en Prolog. Proceso de Inferencia Lógico. Listas en Prolog. Práctica de Laboratorio: Creación de predicados para manejo de listas. Evaluación T2 Interfaces. Desarrollo de programas. 12 UNIDAD 5 Lenguajes de Programación para Desarrollo de Firmware. (1 semana) 13 14 15 Lenguajes de alto y bajo nivel para el desarrollo de firmware (Software empotrado). Evaluación T3 16 17 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 T T1 Descripción Semana Evaluación Teórica 5 T2 Práctica de Laboratorio 12 T3 Presentación y Exposición Final de Proyectos del Curso 15 El peso de cada T es: EVALUACIÓN T1 T2 T3 TOTAL PESO (%) 20 35 45 100% ESCALA VIGESIMAL 2,4 4,2 5,4 12 Los pesos ponderados de las clases de evaluación son los siguientes: EVALUACIÓN PARCIAL CONTINUA FINAL TOTAL PESO (%) 20 60 20 100% ESCALA VIGESIMAL 4 12 4 20 La Evaluación Sustitutoria evalúa toda la temática desarrollada en el semestre y se rinde la semana consecutiva al término de los exámenes finales (12 – 17 de diciembre) y su nota reemplazará, necesariamente, a la nota de un Examen (Parcial o Final) o a la nota de una T (Evaluación Continua), de tal manera que el resultado final sea favorable al alumno. 3 11. BIBLIOGRAFIA OBLIGATORIA # CÓDIGO AUTOR TITULO 1 005.133 SEBE Sebesta, Robert W. Concepts of Programming Languages 2 005.133 TUCK Tucker, Allen Lenguajes de programación 3 005.13 FRIE Friedman, Daniel P. Essentials of Programming Languages 12. BIBLIOGRAFÍA COMPLEMENTARIA # 4 5 AUTOR Louden, Kenneth C. Rodriguez , Jesús J. TITULO Lenguajes de programación : principios y práctica Introducción a la programación: teoría y práctica 13. BIBLIOGRAFÍA DIGITAL # 6 AUTOR Juan, L. José, G. 7 Juan, L. 4 Ibrahim, pues an ISBN LIBRERÍA DIGITAL Conceptos básicos de procesadores de 9788484168898 lenguaje. e-libro Desarrollo modular Labra de procesadores de lenguajes a partir de 9781413563573 Cueva especificaciones semánticas reutilizables. e-libro Cueva Faraón, Llorens L. Rafael, Molina C. 8 Ramón, Rizo A. Rosana, Satorre C. 9 TITULO Dog Programación: formalización: de algoritmos 9788479087173 matemáticos, análisis y reutilización. e-libro Programación de microcontroladores 9788426714282 PIC. e-libro URL http://site.ebrary.com/lib/upn ortesp/docDetail.action?doc ID=10075530& p00= conce ptos%20b%C3%A1sicos% 20de%20procesadores%20 De%20lenguajes http://site.ebrary.com/lib/up nortesp/docDetail.action?do cID=10105331&p00=desarro llo%20modular%20de%20pr o cesadores%20de%20lenguaj es%20a%20partir%20de%20 especificaciones%20sem% C3%A1nticas%20reutilizable s http://site.ebrary.com/lib/up nortesp/docDetail.action?doc ID=10317039&p00=program a ci%C3%B3n:%20formalizaci %C3%B3n:%20de%20algorit mos%20matem%C3%A1tico s ,%20an%C3%A1lisis%20y% 20reutilizaci%C3%B3n http://site.ebrary.com/lib/ upnortesp/docDetail.action? docID=10212517&p00=pro gramaci%C3%B3n%20de%2 0 microcontro ladores