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

Estudia

Dades generals

Curs acadèmic:
2010
Descripció:
Programació imperativa, programació orientada a objectes, programació funcional, programació lògica, semàntiques. Models de Còmput: lambda-càlcul, Lògica de Primer Ordre. Tipatge.
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:
Mateu Villaret Auselle

Altres Competències

  • Tenir una visió amplia de les diferencies existents entre els llenguatges de programació.
  • Conèixer els diferents paradigmes de programació, així com amb els seus models de còmput.
  • Incentivar la capacitat d'abstracció (via Programacio Funcional).
  • Conèixer èines lògiques potents per a atacar problemes computacionalment complexos (via Constraints).
  • Conèixer la semàntica operacional de la programació orientada a objectes en JAVA.

Continguts

1. - Presentació - (7 hores)

          1.1. Què és un Llenguatge de Programació

          1.2. Possibles Classificacions

                    1.2.1. Paradigmes

                    1.2.2. Imperatiu

                    1.2.3. Funcional

                    1.2.4. Lògic

                    1.2.5. Altres

          1.3. Història i evolució

          1.4. Definició del Llenguatge

                    1.4.1. Lèxic

                    1.4.2. Sintàctic

                    1.4.3. Semàntic

          1.5. Traducció per a l'execució

                    1.5.1. Compilació

                    1.5.2. Interpretació

2. - Paradigma Funcional - (20 hores)

          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. Lisp, ML, Haskell

          2.7. Propietats de programes funcionals

3. - Paradigma Lògic - (20 hores)

          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. Resolució de restriccions

          3.5. Propietats de programes lògics

4. Programació Orientada a Objectes - (5 hores)

          4.1. Tipatge, dispatching, herència,...

          4.2. Problemes amb el tipatge

5. - Semàntica – (5 hores)

Activitats

Tipus d’activitat Hores amb professor Hores sense professor Total
Anàlisi / estudi de casos 3,00 0 3,00
Resolució d'exercicis 0 30,00 30,00
Sessió expositiva 57,00 58,00 115,00
Total 60,00 88,00 148

Bibliografia

  • Razonando con Haskell, : un curso sobre programación funcional (cop. 2004). Madrid: Thomson-Paraninfo.
  • Sterling, Leon, Shapiro, Ehud (1994). The Art of Prolog, : advanced programming techniques (2nd ed). Cambridge [etc.]: The MIT Press.
  • Bratko, Ivan (2001). Prolog, : programming for artificial intelligence (3rd ed). Wokingham [etc.]: Addison-Wesley.
  • Mitchell, John C (2003). Concepts in programming languages. Cambridge: Cambridge University Press.

Avaluació i qualificació

Activitats d'avaluació:

Descripció de l'activitat Avaluació de l'activitat %
Realització de pràctiques de laboratori del tema 2 (Haskell). 15
Realització de pràctiques de laboratori del tema 3 (Programació lògica amb Constraints). 15
Exàmen Final S'ha de tenir una nota superior o igual a 5 per poder fer promig amb les notes de laboratori, sino la nota final és la de l'exàmen i prou. 70

Qualificació

NOTA FINAL:
La nota final de l'assignatura s'obtindrà a partir d'un 60% de
la nota de teoria i un 40% de la nota de pràctiques (d'aquest 40%, un 75% són de les pràctiques i l'altre 25% de la part de laboratori de l'exàmen), essent necessari per aprobar:
- tenir les pràctiques presentades i acceptades
- tenir una nota superior o igual a 5 en cada part

TEORIA:
la nota de teoria s'obtindrà mitjançant un exàmen final.

PRÀCTICA:
la nota de pràctiques s'obtindrà mitjançant la realització de pràctiques en els llenguatges explicats a laboratori: Haskell i Prolog, i d'un exàmen pràctic.

EXERCICIS de SEGUIMENT:
la nota final es podrà arrodonir a l'alça mitjançant el lliurament de petits exercicis de seguiment proposats pel professor de sessió en sessió.

Criteris específics de la nota «No Presentat»:
No haver presentat alguna de les proves obligatòries: exàmen o pràctiques, implicarà tenir qualifiació de No Presentat.

Observacions

Es requereix un cert grau mínim d'abstracció i una capacitat de tractament de problemes formals.

Assignatures recomanades

  • Intel·ligència artificial. Tècniques i mètodes
  • Llenguatges, gramàtiques i autòmats
  • Mètodes i eines de compilació

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.