Planificaciones: 7516 - Lenguajes de Programación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Planificaciones
7516 - Lenguajes de Programación

Docente responsable: KUHN MONICA

1 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

OBJETIVOS
Aprender el significado (semántica) de las distintas componentes de un programa para la verificación y
corrección de los mismos.
Aprender a través de distintos enfoques el aspecto semántico del diseño de distintos lenguajes de
programación.
Aprender a traducir formalmente lenguajes de programación.

CONTENIDOS MÍNIMOS
-

PROGRAMA SINTÉTICO
Unidad I Semántica operacional
Máquina abstracta. Configuración, relación de transición y estado. Configuración inicial y final. Run de la máquina.

Unidad II Semántica denotacional de Lenguajes de programación


Definición. Valor derecho y valor izquierdo. Ambiente y estado.
Diagramas de Strachey. Semántica de expresiones, comandos, de declaraciones y de programa.

Unidad III Semántica axiomática de Lenguajes de programación


Semántica axiomática de Hoare, de Floyd y de Dijkstra. Comandos de Dijkstra. Precondición más débil.
Axiomas. Invariante de un ciclo. Función Variante.

Unidad IV Compiladores
Analizador léxico. Analizador sintáctico. Recuperación de errores. Generación y optimización de código.

PROGRAMA ANALÍTICO
Unidad 1: Semántica operacional
.
Definición de las componentes de un lenguaje de programación. Uso de la semántica formal: inplementación,
verificación y diseño de lenguajes de programación. Definición de un sistema de transición. Máquina abstracta:
configuración y su relación de transición. Estado. Configuración inicial y final. Run de la máquina.

Unidad 2: Semántica denotacional de lenguajes de programación

Definición. Semántica de corrientes variables. Valor derecho y valor izquierdo. Diagramas de Stranchey.
Ambiente y Estado. Semántica de expresiones, comandos. Función cambio de Estado. Significado de
comandos, de declaraciones y de programas.

Unidad 3: Semántica Axiomática de Lenguajes de Programación

Semántica axiomática de Hoare con precondición y postcondición. Semánticas axiomáticas de Floyd con
aserciones para corrección de programa. Semántica axiomática de Dijkstra: Comandos de Dijkstra.
Precondición más débil. Axiomas. Corrección parcial, global y total de programas. Invariantes de un ciclo.
Función Variante.

Unidad 4: Compiladores

Compiladores. Analizador léxico. Analizador sintáctico descendente recursivo. Códigos intermedios. Traducción
dirigida por la sintaxis. Manejo de errores en el análisis léxico y en el análisis sintáctico. Errores
semánticos. Recuperación de errores. Generación y optimización de código.

BIBLIOGRAFÍA
- Formal Semantics of Programming Languages
by Glynn Winskel
Foundations of Computing

- Discipline of programming
by E.W.Dijkstra Prentice Hall

2 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

- Programming Languages Design and Implementation


by T. Pratt y M. Zelkowitz
Editorial Prentice Hall

- Formal specification of programming languages


by Frank G. Pagan
Editorial Prentice Hall

- Semantics of Programming Languages:


Structures and Techniques.
by Carl Gunter - MIT Press, Cambridge, Massachusetts

- Programming Language Theory and its Implementation


Michael J.C.Gordon - Prentice Hall International.

- Construcción de compiladores de Kenneth Louden


Ed.Thomson Internacional

- Introducción a la programación sistemática de N.Wirth


Ed. El Ateneo.

- Compiladores Conceptos fundamentales de Teufel-Schmidt-Teufel


Ed. Addison-Wesley Iberoamericana

- Java y UML de Carlos Fontela


Ed. Nueva Librería

RÉGIMEN DE CURSADA
Metodología de enseñanza
- Clases teórico-prácticas
Exposición teórica de conceptos fundamentales, con resolución metódica de problemas tipo y ensayos sobre
objetivos.

- Clases prácticas
Resolución, por parte de los alumnos y controlada por los docentes auxiliares, de problemas correspondientes a
las unidades temáticas del programa, ya sea por escrito o por computadora (programas). En general se
tratará de problemas abiertos, que generen dudas y motiven la consulta a los docentes y la profundización del
conocimiento a través de la bibliografía. Durante el curso se plantearán trabajos prácticos con problemas
complejos a resolver por programación, que los alumnos deberán desarrollar individualmente.

- Clases de consulta

Modalidad de Evaluación Parcial


Evaluación
De manejo de conceptos, aplicación de conocimientos y dominio de técnicas, mediante la respuesta a
preguntas y la resolución de problemas por escrito en evaluaciones parciales e integradoras, y el desarrollo
controlado de trabajos prácticos en computadora.
Las evaluaciones parciales e integradoras son por unidades o subunidades temáticas.
La evaluación de los trabajos por computadora es por presentación en tiempo y forma (plazos y formato
establecido), método de desarrollo (aplicación de método de desarrollo de programas visto en el curso) y
corrección del resultado (cumplimiento de objetivos del programa)

3 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

CALENDARIO DE CLASES

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
<1> Semántica operacional Ejercitación de inserción - Programming
09/03 al 14/03 de aserciones en un Languages Design and
programa con la Implementation by
semántica T. Pratt y M.
operacional de Floyd Zelkowitz Editorial
Prentice Hall

- Formal Semantics of
Programming
Languages
by Glynn Winskel -
Foundations of
Computing

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
Michael
J.C.Gordon - Prentice
Hall International.

<2> Semántica operacional Ejercitación de inserción - Formal Semantics of


16/03 al 21/03 de aserciones en un Programming
programa con la Languages
semántica by Glynn Winskel -
operacional de Floyd Foundations of
Computing

- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Java y UML de
Carlos Fontela
Ed. Nueva Libreria

<3> Semántica Ejercitación de analisis - Formal Semantics of


23/03 al 28/03 denotacional del significado de Programming
distintas instrucciones Languages
en distintos lenguajes by Glynn Winskel -
de programación en Foundations of
Semántica Computing
Denotacional
- Programming
Languages Design and

4 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Semantics of
Programming
Languages:
Structures and
Techniques.
by Carl Gunter -
MIT Press, Cambridge,
Massachusetts

<4> Semántica Ejercitación acerca del - Formal Semantics of


30/03 al 04/04 denotacional significado de distintas Programming
instrucciones en Languages
distintos lenguajes de by Glynn Winskel -
programación en Foundations of
Semántica Computing
Denotacional
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Semantics of
Programming
Languages:
Structures and
Techniques.
by Carl Gunter -
MIT Press, Cambridge,
Massachusetts
<5> Semántica Ejercitación acerca del - Formal Semantics of
06/04 al 11/04 denotacional significado de distintas Programming
instrucciones en Languages
distintos lenguajes de by Glynn Winskel -
programación en Foundations of
Semántica Computing
Denotacional

5 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Java y UML de
Carlos Fontela
Ed. Nueva Libreria

<6> Semántica Ejercitación de hallar la - Discipline of


13/04 al 18/04 axiomática precondición más débil programming de
aplicado a distintos E.W.Dijkstra Prentice
comandos y su Hall
combinación en
programas - Formal Semantics of
Programming
Languages
by Glynn Winskel -
Foundations of
Computing

- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Java y UML de
Carlos Fontela
Ed. Nueva Libreria

<7> Semántica Ejercitación acerca de la - Discipline of


20/04 al 25/04 axiomática precondición más débil programming de
aplicado a distintos E.W.Dijkstra Prentice
comandos y su Hall
combinación
- Formal Semantics of
Programming
Languages

6 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
by Glynn Winskel -
Foundations of
Computing

- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Java y UML de
Carlos Fontela
Ed. Nueva Libreria

<8> Semántica Ejercitación acerca de la - Discipline of


27/04 al 02/05 axiomática precondición más débil programming de
aplicado a distintos E.W.Dijkstra Prentice
comandos y su Hall
combinación
- Formal Semantics of
Programming
Languages
by Glynn Winskel -
Foundations of
Computing

- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Java y UML de
Carlos Fontela
Ed. Nueva Libreria

<9> Semántica Ejercitación acerca de la - Discipline of


04/05 al 09/05 axiomática precondición más débil programming de
aplicado a distintos E.W.Dijkstra Prentice
comandos y su Hall

7 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
combinación
- Formal Semantics of
Programming
Languages
by Glynn Winskel -
Foundations of
Computing

- Programming
Languages Design and
Implementation
by T. Pratt y
M.Zelkowitz
Editorial Prentice
Hall

- Formal specification
of programming
languages
by Frank G. Pagan
Editorial Prentice
Hall

- Programming
Language Theory and
its Implementation
by Michael
J.C.Gordon - Prentice
Hall International.

- Java y UML de
Carlos Fontela
Ed. Nueva Libreria

<10> Compiladores Análisis léxico - Construcción de


11/05 al 16/05 compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática
de N.Wirth Ed. El
Ateneo.

- Compiladores
Conceptos
fundamentales
de Teufel-Schmidt-
Teufel
Ed. Addison-
Wesley Iberoamericana

<11> Compiladores Análisis sintáctico - Construcción de


18/05 al 23/05 compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.

- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana

8 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
<12> Compiladores Análisis semántico - Construcción de
25/05 al 30/05 compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.

- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana

<13> Compiladores Generación de código - Construcción de


01/06 al 06/06 compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.

- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana

<14> Compiladores Recuperación de errores - Construcción de


08/06 al 13/06 compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.

- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana

<15> Compiladores Optimización del código 20/11/18 - Construcción de


15/06 al 20/06 durante la generación compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.

- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana

<16> Compiladores Refinamiento del 27/11/18 - Construcción de

9 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

Semana Temas de teoría Resolución Laboratorio Otro tipo Fecha entrega Bibliografía
de problemas Informe TP básica
22/06 al 27/06 compilador compiladores de
Kenneth Louden
Ed.Thomson
Internacional

- Introducción a la
programación
sistemática de
N.Wirth Ed. El Ateneo.

- Compiladores
Conceptos
fundamentales de
Teufel-Schmidt-Teufel
Ed. Addison-
Wesley Iberoamericana

10 de 11
7516 - Lenguajes de Programación PLANIFICACIONES Actualización: 2ºC/2018

CALENDARIO DE EVALUACIONES

Evaluación Parcial

Oportunidad Semana Fecha Hora Aula


1º 15 20/11 19:00
2º 16 27/11 19:00

11 de 11

También podría gustarte