Dades generals
-
Curs acadèmic:
- 2020
-
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:
- Mateu Villaret Auselle
-
Idioma de les classes:
- Català (100%)
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 |
Hores virtuals amb professor |
Total |
Elaboració individual de treballs |
0
|
30,00 |
4,50 |
34,50 |
Prova d'avaluació |
4,00 |
20,50 |
0
|
24,50 |
Sessió participativa |
12,00 |
24,00 |
30,00 |
66,00 |
Total |
16,00 |
74,50 |
34,50 |
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 |
% |
Recuperable |
Examen parcial Funcional + OO |
Nota mínima 3.
|
33 |
Sí |
Examen parcial restriccions i SAT
|
Nota mínima 3
|
37 |
Sí |
Pràctica 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 |
No |
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 |
No |
Qualificació
El lliurament de les 2 pràctiques és obligatori.
La nota final serà:
10% pràctica Funcional i OOP + 20% pràctica de Restriccions i SAT + 33% examen parcial funcional objectes + 37% examen parcial restriccions i SAT.
Per poder aplicar aquesta fórmula caldrà haver obtingut un 3 o més a cada examen.
Hi haurà un examen de recuperació.
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.
Avaluació única:
L'avaluació única consisteix en les dues pràctiques amb els corresponents percentatges de nota i un examen final amb el valor del 70% de la nota.
Requisits mínims per aprovar:
Per considerar superada l’assignatura, caldrà obtenir una qualificació mínima de 5.0 i tenir les pràctiques adequadament lliurades.
Tutoria
Les tutories es faran sota demanda amb els mitjans disponibles, ja sigui presencial o telemàticament.
Comunicacio i interacció amb l'estudiantat
La comuniciació amb l'estudiantat serà via moodle i missatges penjats al moodle.
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ó
Modificació del disseny
Modificació de les activitats:
Reemplacem les classes presencials per sessions telemàtiques a les mateixes hores que es feien les classes presencials.
Les classes s'enregistren i es pengen al moodle.
Les PAC (examens parcials de funcional+oop i Constraints+SAT) es faran telemàticament.
Modificació de l'avaluació:
Atès que les proves i l'avaluació de les pràctiques es poden fer telemàticament, l'avaluació serà la mateixa.
Tutoria i comunicació:
Serà via moodle, mail i / o via google meet.