Escolar Documentos
Profissional Documentos
Cultura Documentos
Ciclo Académico:
Año de la Carrera: Horas de Clases Semanales Régimen de Cursado
i
Teoría Práctica Otros (1) Anual 1er.Cuatr. 2do.Cuatr. Otros (2)
4TO. 2 2 2 x
(1) Observaciones: CLASES DE CONSULTA
(2) Observaciones:
Docente/s
ii
Teoría Práctica
R/I Apellido y Nombres Departamento/División R/I Apellido y Nombres Departamento/División
R REINAGA HECTOR CS EXACTAS Y NATURALES I VIDAL GRACIELA CS EXACTAS Y NATURALES
Observaciones:
1- FUNDAMENTACIÓN
El objetivo de la asignatura es introducir los conceptos teóricos relacionados con el diseño, especificación e
implementación de lenguajes de programación, y reflejar dicho conocimiento en los lenguajes más representativos
de los diferentes paradigmas de programación. Se asume que el alumno esta debidamente familiarizado con la
programación procedural (imperativa – OO) y declarativa. Desde este punto de partida se presentan los
conceptos de programas traductores, simulación y máquinas virtuales. Se ilustran los mecanismos utilizados para
implementar un lenguaje procedimental (datos, operaciones, binding, ámbitos de referenciamiento, memoria,
pasaje de parámetros, control y subprogramas). Estos mecanismos son presentados como elecciones
particulares de situaciones más generales, en las cuales se adoptan otros criterios de especificación y diseñó de
lenguajes.
La importancia del estudio de los fundamentos de los Lenguajes de Programación para la formación académica,
profesional y personal del estudiante de LeS queda patente en las razones que relacionan T. W. Pratt y M. V.
Zelkowitz, en Programming Languages: Design and Implementation:
• Mejorar la habilidad para desarrollar algoritmos eficaces: muchos LP incluyen características que, cuando se
usan de forma apropiada, benefician al programador pero si se usan incorrectamente, pueden desperdiciar grandes
cantidades de tiempo de cómputo o conducir al programador a errores lógicos que consumen mucho tiempo.
• Mejorar el uso del LP disponible: a través del entendimiento de como se implementan las características del LP
que uno usa, se mejora la habilidad para escribir programas más eficientes.
Pag - 1 -
UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL
• Acrecentar el propio vocabulario con construcciones útiles sobre programación: el LP sirve a la vez como
una ayuda y como una restricción para el pensamiento. Las personas usan el LP para expresar pensamientos, pero
también sirve para estructurar la manera en que uno piensa, en la medida en que es difícil pensar en formas que no
permiten una expresión directa en palabras.
• Hacer posible una mejor elección del LP: cuando se presenta la situación, un conocimiento de diversos LP
puede permitir la elección de un LP que sea precisamente el idóneo para un proyecto particular.
• Facilitar el aprendizaje de un nuevo LP: un lingüista, a través de una comprensión profunda de la estructura
subyacente de los lenguajes naturales, suele poder aprender un nuevo idioma con más rapidez y facilidad que el
novato esforzado que entiende poco de la estructura incluso de su lengua nativa. De manera similar, un
conocimiento concienzudo de diversas construcciones de LP y técnicas de ejecución permite al programador
aprender un nuevo LP con más facilidad.
• Facilitar el diseño de un nuevo LP: pocos programadores piensan alguna vez en sí mismos como diseñadores
de LP; sin embargo, todo programa tiene una interfaz de usuario que es, de hecho, una forma de LP. La interfaz de
usuario se compone de los comandos y formatos de datos que se suministran para que el usuario se comunique
con el programa. El diseñador de la interfaz de usuario para un programa grande como un editor de texto, un
sistema operativo o un paquete de gráficos debe ocuparse de muchas de las mismas cuestiones que están
presentes en el diseño de un LP para usos generales. Este aspecto del diseño de programas se suele simplificar si
el programador está familiarizado con diversas construcciones y métodos de implementación de LP ordinarios.
2- OBJETIVOS GENERALES:
Conocer los mecanismos y aspectos relacionados al diseño e implementación de los lenguajes de programación
referentes a datos, operaciones y control.
3- CONTENIDOS MÍNIMOS:
Introducción e historia de los lenguajes de programación. Entidades y Ligaduras. Sistema de Tipos. Niveles de
Polimorfismo. Datos y Tipos de datos elementales. Variables. Tipos de Datos estructurados. Tipos de datos
abstractos. Operaciones. Expresiones. Control de secuencia entre sentencias. Control de secuencia de
subprogramas. Control de datos. Unidades de Programas.
Pag - 2 -
UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL
5- CRITERIOS DE EVALUACIÓN
La evaluación se plantea como un proceso natural por ello se planifica y diseña como una continuidad de las
actividades realizadas. Cada unidad temática se evalúa por las aplicaciones desarrolladas en forma grupal y/o
individual.
A cada módulo del programa le corresponden un conjunto de aplicaciones a desarrollar. La práctica se intercala con la
teoría buscando una rápida adquisición y fijación de los conceptos. El alumno puede desarrollarlos en forma grupal y/o
individual. El desarrollo del código debe efectuarse en computadora.
Se logra aprobando mediante la presentación y aprobación de todos los casos a desarrollar y el 75% de asistencia a
los teóricos y prácticos.
Aprobación Final
Los temas de examen final se asignan previamente a este, dado que deben ser preparados por el alumno. El examen
final consiste en el desarrollo de un proyecto en el cual el alumno debe resolver una situación problemática mediante
la aplicación de los conceptos, técnicas y herramientas de programación vistas en el curso mas otras (fuertemente
relacionadas) en un problema de mediana complejidad. Durante el examen el alumno entrega un escrito y expone el
trabajo realizado.
Pag - 3 -
UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL
Los temas de examen final se asignan previamente a este, dado que deben ser preparados por el alumno. El
examen final consiste en la aplicación de las herramientas de programación vistas en el curso mas otras
(fuertemente relacionadas) en un problema sencillo pero real. Durante el examen el alumno entrega un escrito y
expone el trabajo realizado.
Desarrollo de un Caso: se asignarán previamente al examen los temas para el desarrollo de caso, dado que deben
ser preparados por el alumno. Este consiste en la aplicación de las herramientas de programación vistas en el
curso mas otras (fuertemente relacionadas) en un problema sencillo pero real. Durante el examen el alumno
entrega un escrito y expone el trabajo realizado.
Pag - 4 -
UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL
Refer. Apellido/s Año Título de la Obra Capítulo/ Lugar de Editorial Unidad Bibliotec SIUNPA Otro
Edición Edición UA
0-13-678012-1 Pratt T. Y Zelkowitz M. 1998 Lenguajes de Programación, diseño Todos Mexico Prentice Hall UACO
e implementación. 3ra.ed.
0-201-51858-9 Sethi R. 1992 Lenguajes de Programación: Todos USA Addison- UACO
conceptos y constructores Wesley
0-8053-7133-8 Sabesta R. 1999 Concepts of Programming Languajes. Todos USA Addison- X
4ra. Ed. Wesley
Ghezzi Carlo, Jazayeri 1998 Programming Languages Concepts John Wiley X 3ra edicion
Mehdi and Sons
COMPLEMENTARIA
Refer. Apellido/s Año Título de la Obra Capítulo/ Lugar de Editorial Unidad Bibliotec SIUNPA Otro
Edición Edición UA
Watt David, 1990 Programming Languages: Prentice Hall.
Concepts and Paradigms.
Watt David 1991 Programming Languages: Sintaxis Prentice Hall
and Semantic.
Mitchell, John, 2000 Foundations for Programming The MIT X
Languages Press
84-8322-040-7 Meyer B. 1990 Construcción de Software orientada New York Prentice Hall UACO
a Objetos. 2da. Ed.
968-444-333-1 Aho A., Sethi R, 1998 Compiladores. Principios, técnicas Todos Mexico Addison- X
Ullman J. y Herramientas Wesley
968-880-205-0 Kerninghan B. Y 1991 El lenguaje de programación C, Mexico Prentice Hall UACO
Ritchie D. 2da. Ed.
Sánchez Dueñas y Compiladores e Interpretes: un Todos España Ediciones
Valverde Andreu enfoque pragmático Díaz Santos
· Recursos en Internet
Autor/es Apellido/s Autor/es Nombre/s Título Datos adicionales Disponibilidad / Dirección electrónica
· Recursos en Internet
Autor/es Apellido/s Autor/es Nombre/s Título Datos adicionales Disponibilidad / Dirección electrónica
Alexander Winzer, Site de SIMLESEM Technical University of http://www.infosys.tuwien.ac.at/pl-book/simplesem/
Vienna, Institute of
Information Systems
Unidad Académica
Programa de: FUNDAMENTOS DE LENGUAJES DE PROGRAMACION Cod. EC. 1675
Carrera: LICENCIATURA EN SISTEMAS Cod. Carr. 072
14- Observaciones
El presente programa se considera un documento que, a modo de "contrato pedagógico", relaciona a los protagonistas
del proceso de enseñanza-aprendizaje y constituye un acuerdo entre la Universidad y el Alumno.
Los cuatrimestres tienen como mínimo una duración de 15 semanas.
i
Si el espacio curricular está implementado en una modalidad diferente de teóricos y prácticos, tildar en Otros y consignar esta
característica en observaciones
ii
Si el espacio curricular está implementado en una modalidad consignada por Otros y no pueden ser discriminados los miembros
del equipo, incluirlos todos en la columna de teóricas y consignar esta característica en observaciones. En R/I se debe registrar si
el docente es Responsable o Integrante. El Responsable del espacio curricular debe estar registrado en la columna de la Teoría.
El responsable del espacio curricular no puede estar únicamente en la Práctica.
VISADO
Pag - 7 -