Dades generals

Curs acadèmic:
2017
Descripció:
En aquesta assignatura s'estudiaran els aspectes més pràctics de la programació declarativa. En la primera part s'estudiarà la programació funcional integrada amb l'orientació a objectes (Scala), i es veuran temes aplicats com el de la programació concurrent amb el model d'actors. En la segona part es presentarà el paradigma de la programació amb restriccions amb diverses possibles aplicacions a la resolució de problemes complexos com ara la programació de tasques, l'assignació eficient de recursos o la confecció d'horaris.
Crèdits ECTS:
5

Grups

Grup A

Durada:
Semestral, 1r semestre
Professorat:
JORDI COLL CABALLERO  / MATEU VILLARET AUSELLE
Idioma de les classes:
Català (80%), Anglès (20%)

Competències

  • CT01 Analitzar situacions complexes i dissenyar estratègies per a resoldre-les
  • CT06 Disenyar propostes creatives
  • CT11 Prendre decisions per la resolució de situacions diverses
  • CC2 Capacitat per a conèixer els fonaments teòrics dels llenguatges de programació i les tècniques de procesament lèxic, sintàctic i semàntic associades, i saber aplicar-les per a la creació, disseny i processament de llenguatges.
  • CC4 Capacitat per a conèixer els fonaments, paradigmes i tècniques pròpies dels sistemes intel·ligents i analitzar, dissenyar i construir sistemes, serveis i aplicacions informàtiques que utilitzin aquestes tècniques en qualsevol àmbit d'aplicació.

Continguts

1. Presentació.

2. Programació funcional i orientada a objectes.

          2.1. Inferència de tipus (Haskell)

          2.2. Scala

          2.3. Actor Model

          2.4. Aplicacions

3. Programació amb restriccions.

          3.1. Problema de restriccions (CSP)

          3.2. Cerca i propagació

          3.3. Modelització

          3.4. SAT i SMT

          3.5. Aplicacions

Activitats

Tipus d’activitat Hores amb professor Hores sense professor Total
Classes participatives 42,5 24 66,5
Elaboració de treballs 5 30 35
Prova d'avaluació 3 20,5 23,5
Total 50,5 74,5 125

Bibliografia

  • Martin Odersky, Lex Spoon i Bill Venners (2010). Programming in Scala (2). Artima. Catàleg
  • Kim Marriot and Peter J. Stuckey. A MiniZinc Tutorial. Recuperat , a http://www.minizinc.org/downloads/doc-latest/minizinc-tute.pdf
  • Miquel Bofill, Miquel Palahí, Josep Suy, Mateu Villaret (2012). Solving constraint satisfaction problems with SAT modulo theories. Constraints, 17(3), 273-303 Catàleg
  • Editors : Rossi & van Beek & Walsh (2006). Handbook of Constraint Programming (1). Elsevier. Catàleg

Avaluació i qualificació

Activitats d'avaluació:

Descripció de l'activitat Avaluació de l'activitat %
Examen parcial Funcional + OO No hi ha nota mínima.
Pot alliberar la part corresponent de l'examen final.
15
Examen parcial restriccions
No hi ha nota mínima.
Pot alliberar la part corresponent de l'exàmen final.
15
Practica SCALA ES OBLIGATORI. Es valorarà l'adequat ús de les tècniques i de les eines a l'abast. Els terminis de lliurament de la pràctica s'indicarà en el propi enunciat. UN COP PASSAT AQUEST TERMINI NO S'ACCEPTARÀ EL LLIURAMENT DE CAP EXERCICI. Lliuraments incomplets no es considerarn com a lliuraments acceptables i per tant impliquen suspendre l'assignatura. 10
Pràctica de programació amb restriccions ES OBLIGATORI. Es valorarà l'adequat ús de les tècniques i de les eines a l'abast. Els terminis de lliurament de la pràctica s'indicarà en el propi enunciat. UN COP PASSAT AQUEST TERMINI NO S'ACCEPTARÀ EL LLIURAMENT DE CAP EXERCICI. Lliuraments incomplets no es considerarn com a lliuraments acceptables i per tant impliquen suspendre l'assignatura. 20
Examen Final S'avaluarà la correctesa de les solucions tant teòriques com pràctiques. 40

Qualificació

El lliurament de les 2 pràctiques és obligatori.



La nota final serà:
40%examen final + 10% pràctica SCALA+ 20% pràctica de Restriccions+15%examen parcial funcional objectes+ 15%examen parcial restriccions.

Es proposaran exercicis voluntaris durant el curs que podran ajudar a millorar la nota final en cas que s'hagi aprovat.

Criteris específics de la nota «No Presentat»:
La nota de No Presentat serà quan no s'hagi presentat cap pràctica ni s'hagi presentat a l'exàmen.

Observacions

Caldrà ser receptiu a l'hora d'aprendre noves maneres d'atacar els problemes.

Caldrà certa capacitat d'abstracció i creativitat.

Es recomana fortament fer els exercicis proposats d'una setmana per l'altra i en cas de no sortir-se'n assistir a turories.

Assignatures recomanades

  • Intel.ligència artificial
  • Lògica i matemàtica discreta
  • Paradigmes i llenguatges de programació
  • Projecte de programació