UA
   LLENGUATGES I PARADIGMES DE PROGRAMACIÓ    Any acadèmic       Versió PDF.  Versió PDF per a convalidació.
Codi9189Descripció
Crdts. Teor.3PROGRAMACIÓ PROCEDIMENTAL. PROGRAMACIÓ FUNCIONAL. PROGRAMACIÓ DECLARATIVA. PROGRAMACIÓ ORIENTADA A OBJECTES. LLENGUATGES DE SCRIPT.
Crdts. Pract.3
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival a 7,5 ECTS.


Departamentos y Áreas
DepartamentsÀreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
CIÈNCIA DE LA COMPUTACIÓ I INTEL·LIGÈNCIA ARTIFICIALCIÈNCIA DE LA COMPUTACIÓ I INTEL·LIGÈNCIA ARTIFICIAL33


Estudis en què s'imparteix
Enginyeria en Informàtica - pla 2001


Prerequisitos
FONAMENTS DE PROGRAMACIÓ I


Incompatibilitats de matricula per continguts equivalents
Aquesta assignatura és incompatible, per tenir continguts equivalents, amb les següents assignatures:
CodiAssignatura
9378LLENGUATGES I PARADIGMES DE PROGRAMACIÓ
9301LLENGUATGES I PARADIGMES DE PROGRAMACIÓ


Matriculats (2013-14)
Grup (*)Nombre
1 7
TOTAL 7
(*) 1: GRUPO 1 - CAS


Oferida com a lliure elecció (2013-14)
Sense departament
Consulta Gràfica d'Horari
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival aFeu clic ací


Horari (2013-14)
Sense horari


Grups de matricula (2013-14)
Grup (*)QuadrimestreTornIdiomaDistribució (lletra nif)
1 2do. M CAS des de - fins a -
(*) 1: GRUPO 1 - CAS


Objectius de l'assignatura / competències (2013-14)
En la asignatura se razona sobre el concepto de programación desde un punto de vista práctico. ¿Qué elementos son comunes a los lenguajes de programación? ¿Qué características tienen? ¿Cuáles son los elementos esenciales y los accesorios? ¿Cómo diseñar un buen lenguaje de programación? Veremos que el elemento central de la programación es la idea de construcción de abstracciones. Un lenguaje de programación proporciona mecanismos de abstracción que nos permiten expresar una solución informática en un lenguaje cercano al dominio que estamos tratando. En el curso utilizaremos los lenguajes de programación Scheme y Scala. Scheme es una variante muy extendida de LISP, lenguaje paradigma de la programación funcional. La utilización de un lenguaje tan sencillo nos permite reflexionar sobre cuáles son los elementos esenciales de los lenguajes de programación y su semántica. Scala es un lenguaje moderno que se ejecuta en la plataforma Java y que se está reconocido como uno de los más importantes lenguajes multi-paradigma, integrando de forma coherente conceptos de programación funcional y programación orientado a objetos.

En el curso trataremos cinco grandes bloques

- Lenguajes de programación: Conceptos generales comunes al diseño y construcción de lenguajes de programación. Algunos contenidos: historia y paradigmas de lenguajes de programación, programación declarativa vs. programación procedural, tipos de datos.
- Programación funcional: Estudio en profundidad del paradigma de programación funcional. Algunos contenidos: modelo computacional de sustitución, forma especial lambda, recursión, programacion funcional en Scheme, abstracción, estructuras de datos recursivas como listas y árboles.
- Programación imperativa: Estudio de las características de la programación imperativa comparada con la programación funcional. Algunos contenidos: modelo de computación basado en entornos, asignación de variables, estado local.
- Programación orientada a objetos: Repaso de los elementos esenciales del paradigma de programación orientada a objeto, poniéndolos en el contexto de lo que aportan al paradigma clásico procedural. Características avanzadas de POO en un lenguaje de reciente diseño como Scala.
- Integración de paradigmas: Lenguajes que integran el paradigma funcional y el procedural. ¿Por qué es interesante integrarlos? Ventajas de la programación funcional para la concurrencia. Scala como un ejemplo de lenguaje de integración de paradigmas.

Competencias

-Conocer y diferenciar las características de los distintos paradigmas de programación (programación funcional, procedural y orientada a objetos) e identificarlas en lenguajes de programación concretos.
-Conocer los elementos que componen los lenguajes de programación (estructuras de control, procedimientos, tipos de datos) y distintas implementaciones de estos elementos en distintos lenguajes.
-Diferenciar entre tiempo de ejecución y tiempo de compilación en distintos ámbitos: detección de errores o definición, creación o ámbito de vida de variables.
-Conocer modelos de computación específicos que expliquen la semántica de los lenguajes de programación. En concreto: modelo de sustitución para la programación funcional y modelo de entornos para explicar el ámbito y los valores de los variables en la programación procedural.
-Utilizar la abstracción y la recursión para diseñar correctamente procedimientos y estructuras de datos (listas y árboles).
-Ser capaz de diseñar, implementar y corregir programas funcionales, en concreto utilizando el lenguaje de programación Scheme.
-Ser capaz de implementar programas sencillos en Scala, en los que se utilicen las características multi-paradigma del lenguaje.
-Comparar el paradigma orientado a objetos con el paradigma procedural clásico, reconociendo las ventajas que aporta en cuanto a abstracción, reutilización y modificación de código.
-Conocer los principios básicos del paradigma de programación lógica


Continguts teòrics i pràctics (2013-14)

Tema 1: Lenguajes y paradigmas de programación
Tema 2: Características de la Programación Funcional
Tema 3: Recursión
Tema 4: Programación funcional avanzada en Scheme
Tema 5: Construyendo abstracciones en programación funcional
Tema 6: Estructuras de datos recursivas: listas y árboles
Tema 7: Programación imperativa: ámbito de variables y estado local
Tema 8: Tipos de datos
Tema 9: Control del flujo: selección, iteración, y continuaciones
Tema 10: Subrutinas y abstracción del control
Tema 11: Programación Orientada a Objetos
Tema 12: Lenguajes multi-paradigma: Scala
Tema 13: Programación Lógica


Enllaç al programa
http://www.dccia.ua.es/dccia/inf/asignaturas/LPP
Professor/a responsable
Gallardo López , Domingo


Metodologia docent (2013-14)
Classes teòriques i pràctiques
Sin docencia


Tipus d'activitats: teòriques i pràctiques
Laboratoris
Sin docencia


Professorat (2013-14)
Grup Professor
TEORIA COMPARTIDA DE 9189, 9301 Y 93781Gallardo López, Domingo
PRÁCTICAS CON ORDENADOR DE 91891Gallardo López, Domingo
Pomares Puig, Cristina
2Pomares Puig, Cristina
3Pomares Puig, Cristina
4Gallardo López, Domingo
Enllaços relacionats
http://www.dccia.ua.es/dccia/inf/asignaturas/LPP


Bibliografia

A brief history of computing
Autors:O`REGAN, Gerard
Edició:Dades no disponibles.
ISBN:978-1848000834
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Coders at Work
Autors:SEIBEL, Peter
Edició:Dades no disponibles.
ISBN:978-1430219484
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Concepts of programming languages
Autors:SEBESTA, Robert W.
Edició:Dades no disponibles.
ISBN:978-0321493620
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Concepts, techniques, and models of computer programming
Autors:Peter Van Roy, Seif Haridi
Edició:Cambridge, Mass : MIT Press, 2004.
ISBN:0-262-22069-5
Recomanat per: POMARES PUIG, Mª CRISTINA
[ Accés al catàleg de la biblioteca universitària ]

Essentials of Programming Languages
Autors:FRIEDMANN, Daniel
Edició:Cambridge : MIT Press, 2008.
ISBN:978-0262062794
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Lenguajes de programación: diseño e implementación
Autors:Pratt, Terrence W. , Marvin V. Zelkowitz
Edició:México [etc.] : Prentice Hall Hispanoamericana, 1998.
ISBN:970-17-0046-5
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Accés a les edicions anteriors ]

Masterminds of Programming: conversations with the creators of major programming languages
Autors:BIANCUZZI, Federico ; WARDEN, Shane
Edició:Dades no disponibles.
ISBN: 9780596515171
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Modern programming languages : a practical introduction
Autors:WEBBER, Adam Brooks
Edició:Wilsonville : Franklin, Beedle & Associates, 2003.
ISBN:1-887902-76-7
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

PRACTICAL Programming: an introduction to computer science using Python
Autors:Campbell, Jennifer (aut.)
Edició:Dades no disponibles.
ISBN: 978-1-934-35627-2
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Programming language concepts and paradigms
Autors:David A. Watt ; with contributions by William Findlay, John Hughes
Edició:New York [etc.] : Prentice Hall, cop. 1990.
ISBN:0-13-728866-2
Recomanat per: POMARES PUIG, Mª CRISTINA
[ Accés al catàleg de la biblioteca universitària ]

Programming language pragmatics
Autors:Scott, Michael Lee
Edició:Amsterdam : Morgan Kaufmann, 2009.
ISBN:978-0-12-633951-2
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés a les edicions anteriors ] [ Enllaç al recurs bibliogràfic ]

Programming languages : principles and paradigms
Autors:TUCKER, Allen ; NOONAN, Robert
Edició:Boston [etc.] : McGraw-Hill, cop. 2002.
ISBN:0-07-238111-6
Recomanat per: POMARES PUIG, Mª CRISTINA
[ Accés al catàleg de la biblioteca universitària ]

Programming Ruby: the pragmatic programmers` guide
Autors:THOMAS, Dave ; FOWLER, Chad ; HUNT, Andy
Edició:Dades no disponibles.
ISBN:978-0974514055
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Python programming: an introduction to computer science
Autors:ZELLE, John M.
Edició:Dades no disponibles.
ISBN:978-1887902991
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Simply scheme : introducing computer science
Autors:Harvey, Brian ; Wright, Matthew
Edició:Cambridge : The MIT Press, 2001.
ISBN:0-262-08281-0
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

Structure and interpretation of computer programs
Autors:Abelson, Harold
Edició:Cambridge : MIT Pres, 1996.
Notes:En catálogo: 5ª impr. (2000)
ISBN:0-262-51087-1
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Enllaç al recurs bibliogràfic ]

The little Schemer
Autors:FRIEDMAN, Daniel P. ; FELLEISEN, Matthias
Edició:Cambridge, Massachusetts : MIT Press, 2001.
ISBN:0-262-56099-2
Recomanat per: POMARES PUIG, Mª CRISTINA
[ Accés al catàleg de la biblioteca universitària ]

The reasoner schemer
Autors:FRIEDMAN, Daniel P. ; BYRD, William E. ; KYSELYOV, Oleg
Edició:Cambridge : MIT Press, 2005.
ISBN:0-262-56214-6
Recomanat per: POMARES PUIG, Mª CRISTINA (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Enllaç al recurs bibliogràfic ]

The Ruby programming language
Autors:FLANAGAN, David ; MATSUMOTO, Yukihiro
Edició:Dades no disponibles.
ISBN:978-0596516178
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]

The seasoned Schemer
Autors:FRIEDMAN, Daniel P. ; FELLEISEN, Matthias
Edició:Cambridge, Massachusetts : MIT Press, 2000.
ISBN:0-262-56100-X
Recomanat per: POMARES PUIG, Mª CRISTINA
[ Accés al catàleg de la biblioteca universitària ]

Types and programming languages
Autors:PIERCE, Benjamin C.
Edició:Cambridge : The MIT Press, 2002.
ISBN:0-262-16209-1
Recomanat per: GALLARDO LOPEZ, DOMINGO (*1)
[ Accés al catàleg de la biblioteca universitària ]
(*1) Aquest professor ha recomanat el recurs bibliogràfic a tot l'alumnat de l'assignatura.
Dates d'exàmens oficials (2013-14)
ConvocatòriaGrup (*)DataHora d’iniciHora d’fiAules assignadesObservacions:
Proves extraordinarias de finalització d'estudis -1 28/11/2013 -
Període ordinari per a assignatures de segon semestre i anuals -1 10/06/2014 15:00 18:00 A3/0008
A3/0009
A3/0010
A3/0012
-
Proves extraordinàries de assignatures de grau i màster -1 10/07/2014 16:00 20:00 A2/D11
A2/D12
-
(*) 1: GRUPO 1 - CAS


Instruments i criteris d'avaluació (2013-14)
Examen final
Examen final