Datos Identificativos 2013/14
Asignatura (*) Deseño das Linguaxes de Prgramación Código 614G01065
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Período Curso Tipo Créditos
Grao 1º cuadrimestre
Cuarto Obrigatoria 6
Idioma
Castelán
Prerrequisitos
Departamento Computación
Coordinación
Alonso Pardo, Miguel angel
Correo electrónico
miguel.alonso@udc.es
Profesorado
Alonso Pardo, Miguel angel
Gómez Rodríguez, Carlos
Vilares Ferro, Jesus
Correo electrónico
miguel.alonso@udc.es
carlos.gomez@udc.es
jesus.vilares@udc.es
Web http://campusvirtual.udc.es
Descrición xeral En esta asignatura se tratan aspectos de la especificación y diseño de lenguajes de programación:

* Criterios de diseño en las principales estructuras de control y de datos de los lenguajes de programación
* Diseño de lenguajes de programación orientados a objetos.
* Modelos para la definición formal de la semántica de los lenguajes de programación
* Especificación formal de los sistemas de tipos. Relaciones de subtipado
* Computabilidad. Análisis de complejidad y su relación con el diseño de lenguajes de programación.

Competencias do título
Código Competencias da titulación
A39 Capacidade para ter un coñecemento profundo dos principios fundamentais e modelos da computación, e saber aplicalos para interpretar, seleccionar, valorar, modelar, e crear novos conceptos, teorías, usos e desenvolvementos tecnolóxicos relacionados coa informática.
A40 Capacidade para coñecer os fundamentos teóricos das linguaxes de programación e as técnicas de procesamento léxico, sintáctico e semántico asociadas, e saber aplicalas para a creación, o deseño e o procesamento de linguaxes.
A41 Capacidade para avaliar a complexidade computacional dun problema, coñecer estratexias algorítmicas que poidan conducir á súa resolución e recomendar, desenvolver e implementar aquela que garanta o mellor rendemento de acordo cos requisitos establecidos.
B7 Preocupación pola calidade
B9 Capacidade para xerar novas ideas (creatividade)
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
Manejar los principios de diseño de las principales estructuras de control de los lenguajes de programación y sus implicaciones en el desarrollo de programas A39
A40
B7
C6
Manejar los principios de diseño de las principales estructuras de datos de los lenguajes de programación y sus implicaciones en el desarrollo de programas A39
A40
B7
C6
Comprender y dominar los principios de diseño de los lenguajes orientados a objetos y de las implicaciones que las elecciones de diseño tienen en el desarrollo de programas A39
A40
B7
C6
C8
Introducir el lambda-cálculo, tipado y no tipado, como núcleo fundamental de los lenguajes de programación. A39
A40
B9
C6
C8
Comprender los fundamentos formales de los sistemas de tipado y subtipado A39
A40
C6
C8
Manejar de forma práctica los conceptos de complejidad algorítmica y sus implicaciones en el diseño de lenguajes de programación A39
A40
A41
B7
C6
C8

Contidos
Temas Subtemas
Principios de diseño de lenguajes de programción Nombres, ámbito y ligazón
Flujo de control
Tipos de datos
Subrutinas
Lenguajes orientados a objetos Fundamentos de diseño de lenguajes orientados a objetos
Problemas de tipado de los lenguajes orientados a objetos
Formalización de los sistemas de tipos Semántica operacional, denotacional y axiómática
Introducción al lambda cálculo
Lambda cálculo tipado
Computabilidad y complejidad Computabilidad y lambda cálculo
Clases de complejidad

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Prácticas de laboratorio 14 42 56
Obradoiro 7 14 21
Proba obxectiva 2 6 8
Sesión maxistral 21 42 63
 
Atención personalizada 2 0 2
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Prácticas de laboratorio Actividade que permite que os estudantes aprendan de forma efectiva a través da realización de actividades de carácter práctico, neste caso prácticas, demostracións e exercicios.
Obradoiro Realizaranse como complemento de todas as demais actividades, nalgúns casos de forma autónoma por parte do alumno e noutras ocasións dirixidas polo profesor.
Proba obxectiva Proba na que se evaluarán os coñecementos adquiridos tanto na parte teórica como na parte práctica da materia.
Sesión maxistral Exposición oral complementada co uso de medios audiovisuais e a formulación de preguntas dirixidas ós estudantes, co obxetivo de transmitir coñecemento así como de estimular o razoamento crítico do estudiante.

Atención personalizada
Metodoloxías
Obradoiro
Prácticas de laboratorio
Descrición
El desarrollo de las clases se realizará atendiendo al progreso de los alumnos en las capacidades de comprensión y asimilación de los contenidos impartidos, compaginando el avance general de la clase con una atención específica a aquellos alumnos que presenten mayores dificultades en la tarea del aprendizaje y con un apoyo adicional a aquellos otros que presenten mayor desenvoltura y deseen ampliar conocimientos.

Dado el carácter personalizado de las tutorías, éstas no deben dedicarse a extender los contenidos con nuevos conceptos, sino a aclarar los conceptos ya expuestos. El profesor debe además utilizarlas como una interacción que le permita extraer conclusiones respecto al grado de asimilación de la materia por parte de los alumnos.

Avaliación
Metodoloxías Descrición Cualificación
Obradoiro Otras actividades evaluables, cuyo contenido se desarrollarán en las horas de TGR. 20
Proba obxectiva Ejercicio escrito 40
Prácticas de laboratorio Trabajos de laboratorio 40
 
Observacións avaliación

El examen computa un 40% de la nota. Las actividades de los TGR computan un 20% de la nota. El 40% restante se reparte entre las prácticas y cualquier otra actividad de evaluación que se realice a lo largo del curso.

La evaluación de los TGR podrá realizarse junto con el examen de teoría.

Para aprobar la asignatura es preciso aprobar cada uno de los apartados de la evaluación.


Fontes de información
Bibliografía básica Kim B. Bruce (2002). Foundations of Object-Oriented Languages: Types and Semantics. The MIT Press, Cambridge, MA
Michael L. Scott (2009). Programming Language Pragmatics. Third edition. Morgan Kaufmann Publish- ers, Burlington, MA
Benjamin C. Pierce (2002). Types and Programming Languages. The MIT Press, Cambridge, MA

Bibliografía complementaria Robert W. Sebesta (2010). Concepts of Programming Languages. Pearson
Franklyn A. Turbak and David K. Gifford (2008). Design Concepts in Programming Languages. MIT Press, Cambridge, MA
David A. Watt (2004). Programming Language Design Concepts. ohn Wiley and sons, Chichester, West Suusex, England


Recomendacións
Materias que se recomenda ter cursado previamente
Procesamento de Linguaxes/614G01067

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario
Paradigmas de Programación/614G01014
Teoría da computación/614G01039

Observacións


(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías