Anar al contingut (clic a Intro)
UdG Home UdG Home
Tancar
Menú

Estudia

Dades generals

Curs acadèmic:
2009
Descripció:
Programació i computació. Llenguatges de programació: anàlisi lèxica, sintàctica i semàntica. Diferents paradigmes de programació: Programació imperativa, programació orientada a objectes, programació funcional, programació lògica i programació amb llenguatges "d'script".
Crèdits:
6
Idioma principal de les classes:
Català
S’utilitza oralment la llengua anglesa en l'assignatura:
Gens (0%)
S’utilitzen documents en llengua anglesa:
Indistintament (50%)

Grups

Grup A

Durada:
Semestral, 2n semestre
Professorat:
MIQUEL PALAHI SITGES  / Mateu Villaret Auselle

Competències

  • Ser capaç d'analitzar, dissenyar i implementar un algorisme i la seva estructura de dades.

Altres Competències

  • Tenir una visió amplia del que és un llenguatge de programació i de les diferencies existents entre els diferents paradigmes de programació. Conèixer els diferents paradigmes de programació tant de forma aplicada amb pràctiques i exemples concrets de llenguatges, com de forma teòrica amb aspectes fonamentals dels seus models de còmput.

Continguts

1. - Presentació, Llenguatges de Programació -

          1.1. Què és un Llenguatge de Programació

          1.2. Possibles Classificacions

          1.3. Paradigmes

                    1.3.1. Imperatiu

                    1.3.2. Funcional

                    1.3.3. Lògic

                    1.3.4. Altres

          1.4. Història i evolució

          1.5. Definició del Llenguatge

                    1.5.1. Lèxic

                    1.5.2. Sintàctic

                    1.5.3. Semàntic

          1.6. Traducció per a l'execució

                    1.6.1. Compilació

                    1.6.2. Interpretació

2. - Paradigma Funcional -

          2.1. Introducció

          2.2. Model de Còmput: lambda-càlcul simple no tipat

                    2.2.1. lambda-termes

                    2.2.2. substitució

                    2.2.3. lambda-teoria

          2.3. lambda-definibilitat

          2.4. lambda-càlcul tipat

          2.5. inferència de tipus

          2.6. Haskell

          2.7. Propietats de programes funcionals

3. - Paradigma Lògic -

          3.1. Introducció

          3.2. Model de Còmput: lògica de primer ordre

                    3.2.1. Fórmules lògiques

                    3.2.2. Unificació

                    3.2.3. Resolució, SLD-resolució

          3.3. Prolog

          3.4. Programació lògica amb Restriccions

4. - Paradigma Imperatiu -

          4.1. Introducció

          4.2. Model de Còmput: Màquines de Turing/Arquitectura Von Newman

                    4.2.1. Estat

                    4.2.2. Expressions i instruccions

                    4.2.3. Tipus d'expressions, notacions

                    4.2.4. Assignació i control de flux

          4.3. Abstracció de control

                    4.3.1. Accions i Funcions

          4.4. Pas de paràmetres

          4.5. Abstracció de dades

                    4.5.1. TAD

                    4.5.2. OOP

          4.6. C, JAVA, ...

          4.7. Propietats de programes imperatius

Activitats

Tipus d’activitat Hores amb professor Hores sense professor Total
Altres 0 15,00 15,00
Anàlisi / estudi de casos 3,00 0 3,00
Elaboració individual de treballs 0 30,00 30,00
Sessió participativa 30,00 20,00 50,00
Sessió pràctica 30,00 20,00 50,00
Total 63,00 85,00 148

Bibliografia

  • John C. Mitchell (2003). Concepts in Programming Languages. Cambridge University Press.
  • Ruiz, Gutiérrez, Guerrero, Gallardo (2004). Razonando con Haskell. Thomson.
  • Sterling and Shapiro (1994). The Art of Prolog (2). MIT Press.

Avaluació i qualificació

Activitats d'avaluació:

Descripció de l'activitat Avaluació de l'activitat %
Realitazió de pràctiques de laboratori del tema 2 (Programació Funcional) 15
Realitazió de pràctiques de laboratori del tema 3 (Programació Lògica) 15
Exàmen Final S'ha d'obtenir una nota de l'e`xmen major o igual que 4,5 per tal de poder tenir en compte les notes de les pràctiques, altrament la nota final és la de l'exàmen (sempre que s'hagin fet les pràctiques). En total la part de laboratori de l'exàmen es sumarà
al 30% de nota de les pràctiques fent que teoria i laboratori "pesin" igual en la nota.
70

Qualificació

La nota final de l'assignatura s'obtindrà a parts iguals de
teoria i de pràctica, essent obligatori per a aprobar:

- tenir una nota >= 4,5 tant en teoria com en pràctiques
- haver superat l'avaluació pràctica


Teoria:
la nota de teoria s'obtindrà bàsicament d'un exàmen final, tot i que es podrà recolzar també en "petits exercicis" proposats d'una sessió per l'altra, i també amb el seguiment que es faci de l'assignatura per part de l'alumne i que el professor controlarà mitjançant la participació a classe.

Pràctiques:
la nota de pràctiques s'obtindrà bàsicament mitjançant l'elaboració de pràctiques en els llenguages explicats a laboratori que seran: Haskell i Prolog. També, segons disponibilitat, es podrà fer un exàmen pràctic amb l'ordinador que complementaria la nota.

Observacions

L'assignatura preten:
- dotar a l'alumne d'èines alternatives de programació
- permetre conèixer a l'alumne els principals aspectes a tenir en compte a l'hora de triar un llenguatge per a resoldre un problema
- oferir alguns conceptes teòrics fonamentals per a un bon programador

Per tant es valorarà la capacitat d'abstracció i comprensió per a l'aspecte teòric de l'assignatura i l'enginy i creativitat per a l'aspecte pràctic.

Assignatures recomanades

  • Algorísmica I
  • Introducció a la lògica
  • Introducció a les estructures de dades
  • Metodologia i tecnologia de la programació

Escull quins tipus de galetes acceptes que el web de la Universitat de Girona pugui guardar en el teu navegador.

Les imprescindibles per facilitar la vostra connexió. No hi ha opció d'inhabilitar-les, atès que són les necessàries pel funcionament del lloc web.

Permeten recordar les vostres opcions (per exemple llengua o regió des de la qual accediu), per tal de proporcionar-vos serveis avançats.

Proporcionen informació estadística i permeten millorar els serveis. Utilitzem cookies de Google Analytics que podeu desactivar instal·lant-vos aquest plugin.

Per a oferir continguts publicitaris relacionats amb els interessos de l'usuari, bé directament, bé per mitjà de tercers (“adservers”). Cal activar-les si vols veure els vídeos de Youtube incrustats en el web de la Universitat de Girona.