Curs 2010-11
Lògica Computacional (21422)
Titulació/estudi: Grau en Enginyeria en Informàtica
Curs: segon
Trimestre: tercer
Nombre de crèdits ECTS: 4 crèdits
Hores de dedicació de l'estudiant: 100 hores
Llengua o llengües de la docència: català, castellà, anglès
Professor: Rafael Ramírez, Víctor Dalmau
1. Presentació de l'assignatura
L'assignatura Lògica Computacional és una assignatura obligatòria que s'ofereix durant el grau en enginyeria en informàtica, formant part del segon curs de aquest grau. En l'assignatura s'estudien els aspectes deductius i algorísmics tant de la lògica proposicional com de la lògica de predicats, l'ús de la lògica per especificar, verificar i raonar sobre programes d'ordinador, i per representar problemes computacionals. L'assignatura té un component teòric i un altre pràctic. Dintre del component teòric l'èmfasi està en la comprensió dels conceptes a nivell intuïtiu i de la utilització de llenguatge matemàtic.
L'assignatura està composta de tres activitats principals: classes de teoria, seminaris i laboratoris. En les classes de teoria s'introdueixen els conceptes formals i es mostren exemples de la seva aplicació. En els seminaris els alumnes resolen petits problemes. Cada problema correspon a un dels conceptes introduïts en classe de teoria. En els laboratoris es presenten problemes de més complexitat i de caràcter més computacional perquè els alumnes tinguin l'oportunitat de posar en pràctica els conceptes apresos.
2. Prerequisits per al seguiment de l'itinerari formatiu
Els coneixements previs per al seguiment de l'assignatura són certes nocions de matemàtiques bàsiques adquirides en l'ensenyament secundari obligatori i durant els primers tres cursos dels estudis. En particular, els coneixements previs requerits per a l'assignatura són:
• Nocions algebraiques bàsiques: funcions, conjunts i operacions elementals sobre conjunts, relacions d'equivalència.
• Nocions bàsiques de lògica matemàtica: relacions, conectors lògics.
• Aritmètica bàsica.
• Capacitat bàsica per a comprendre i escriure expressions matemàtiques a nivell elemental.
3. Competències que s'han d'assolir
L'objectiu fonamental de l'assignatura és que els alumnes adquireixin els aspectes fonamentals relacionats amb els aspectes deductius i algorísmics de la lògica proposicional i de predicats, i la seva aplicació per especificar, verificar i raonar sobre programes d'ordinador.
Competències generals |
Competències específiques |
Instrumentals Interpersonals Sistèmiques |
1. Capacitat d'entendre a nivell intuïtiu i formal els diferents aspectes de la lògica proposicional i de predicats: sintaxi, semàntica i la seva aplicació a diferents problemes en informàtica. 2. Capacitat d'aplicar els coneixements adquirits en contextos pràctics. 3. Capacitat d'especificar, verificar i raonar sobre programes d'ordinador i representar problemes computacionals utilitzant mètodes basats en lògica. |
4. Continguts
4.1. Blocs de contingut
• Bloc de contingut 1. Sintaxi i semàntica de lògica proposicional i de predicats.
• Bloc de contingut 2. Programació lògica.
• Bloc de contingut 3. Especificació i verificació formal de programes.
4.2. Organització i concreció dels continguts
Bloc de contingut 1. Sintaxi, semàntica de lògica proposicional i de predicats
Conceptes |
Procediments |
Actituds |
1. Lògica proposicional: conectors lògics, fórmules, taules de veritat, interpretacions, satisfabilitat i validesa, manipulació de fórmules, taules semàntiques, proves deductives, resolució.
|
1. Poder entendre, especificar i manipular fórmules proposicionals. Provar satisfabilitat i validesa de fórmules proposicionals. Aplicar mètodes com taules de veritat, taules semàntiques i resolució en problemàtiques concretes. 2. Poder entendre, especificar i manipular fórmules de lògica de predicats. Provar satisfabilitat i validesa de fórmules. Aplicar mètodes como taules semàntiques i resolució en problemàtiques concretes. |
1. Apreciar els diferents tipus de formalismes útils en la lògica i el raonament.
|
Bloc de contingut 2. Programació lògica
Conceptes |
Procediments |
Actituds |
1. Programes com fórmules, substitucions, unificació. 2. Resolució SLD, execució de programes lògics. |
1. Entendre la relació entre fórmules en lògica i programes computacionals. 2. Descriure el procés d'execució en programes lògics. Implementar diferents programes lògics per problemàtiques específiques. |
1. Disponibilitat a intentar entendre conceptes que inicialment semblen complexos. 2. Predisposició per adquirir coneixement sòlid de base |
Bloc de contingut 3. Especificació i verificació formal de programes
Conceptes |
Procediments |
Actituds |
1. Semàntica de llenguatges de programació 2. Especificació formal de programes 3. Verificació formal de programes
|
1. Definir la semàntica formal de programes imperatius 2. Especificar formalment la semàntica de programes en problemàtiques concretes. 3. Verificar formalment la correcció de programes concrets. |
1. Disponibilitat per intentar entendre conceptes que inicialment semblen complexos. 2. Predisposició per adquirir coneixement sòlid de base 3. Disponibilitat de dedicar el temps necessari a cada concepte |
5. Objectius d'aprenentatge
L'objectiu de l'assignatura és estendre aspectes deductius i algorísmics de la lògica proposicional i de predicats, i posar en pràctica el seu ús per especificar, verificar i raonar sobre programes d'ordinador, i per representar problemes computacionals. Així mateix, els estudiants haurien de desenvolupar competències per a entendre les diferències entre els diversos tipus de lògica i identificar el millor formalisme per especificar diferents problemes computacionals.
6. Avaluació
6.1. Criteris generals d'avaluació
En l'avaluació continuada es té en compte cada una de les tres activitats que constitueixen l'assignatura: classes de teoria, laboratoris i seminaris:
T: l'avaluació de la teoria mitjançant un examen final.
L: l'avaluació dels laboratoris amb les pràctiques de programació i examen final de pràctiques.
S: l'avaluació dels seminaris
En l'avaluació continuada, cal aprovar cada una de les tres activitats per separat i la nota final s'obté fent la mitjana ponderada de la següent forma:
Nota Final = 0,6 * T + 0,3 * L + 0,1 * S
L'examen de teoria es realitzarà sobre els continguts desenvolupats a classe de teoria i als seminaris. És un examen escrit i individual que avalua totes les competències desenvolupades al llarg de l'assignatura. Aquesta avaluació és obligatòria i ha de ser qualificada amb com a mínim un 50% per tal de aprovar l'assignatura.
En els laboratoris es realitzen un sèrie de pràctiques que posen a prova la capacitat dels alumnes de aplicar la teoria en forma de programes en un ordinador. Les pràctiques es realitzen en parella, de manera que els alumnes hagin de cooperar i saber comunicar-se per resoldre els problemes. Aquesta avaluació també és obligatòria i ha de ser qualificada com a mínim amb un 50% en la part de pràctiques i 50% en la part d'examen final per tal d'aprovar l'assignatura.
Abans de cada seminari es presentaran problemes als alumnes per tal que ells els resolguin en equips de tres abans de la sessió, com una preparació prèvia al seminari. Aquests problemes corresponen a conceptes o coneixements tractats a classe de teoria. Els alumnes han de lliurar les solucions al començament del seminari, i a més a més es demanarà als alumnes que presentin les seves solucions a la pissarra. En l'avaluació es tindrà en compte la preparació del seminari, la presència en ell i també l'aprofitament. L'avaluació del treball dels seminaris és obligatòria i com s'ha dit, la nota S que s'obtingui ha de ser qualificada com a mínim amb un 50% per tal d'aprovar l'assignatura.
En cas de no aprovar l'assignatura en l'avaluació continuada exposada en els punts anteriors, l'alumne té dret a una convocatòria en el mes de setembre. La nota d'aquesta convocatòria s'obtindrà en un examen dels continguts de les classes de teoria i en la nota L. En cas d'haver suspès L en l'avaluació continuada, es podrà entregar la pràctica sencera de tota l'assignatura i s'avaluarà de nou. Un cop aprovades T i L per separat, la nota de Setembre s'obtindrà com:
Nota Setembre = 0,6*T+0,4*L
6.2. Concreció per competències
Competències a assolir en l'assignatura |
Indicador d'assoliment |
Procediment d'avaluació |
Temporalització |
Competències específiques |
|
|
2. Tot el trimestre 3. Tot el trimestre 4. Tot el trimestre 5. Tot el trimestre 6. Tot el trimestre 7. Tot el trimestre
1. Tot el trimestre 2. Tot el trimestre
|
7. Bibliografia i recursos didàctics
7.1. Bibliografia bàsica (suport paper i electrònic)
Mathematical Logic for Computer Science
Mordechai Ben-Ari
Springer (2003).
7.2. Bibliografia complementària (suport paper i electrònic)
Logic in Computer Science
Michael R.A. Huth, Mark D Ryan
Cambridge University Press (2002)
Logic and its Applications
Edmund Burke, Eric Foxley
Prentice Hall (1996)
7.3. Material docent de l'assignatura
Web de l'assignatura
Apunts
Col·lecció d'exercicis (amb solució)
Enunciats de les pràctiques
7.4. Materials i eines de suport
SWI-Prolog self-extracting .EXE (3.75mb)
Prolog Introductory Tutorial
8. Metodologia
Enfocament metodològic de l'assignatura
El procés habitual d'aprenentatge comença amb una sessió de teoria en la que es presenten certs fonaments teòrico-pràctics. Aquesta activitat es realitza amb tot el grup d'estudiants. L'estudiant haurà de complementar aquesta activitat amb una lectura detinguda dels seus propis apunts i el material addicional que el professor hagi proporcionat. Per exemple, una sessió de teoria de 2 hores, convenientment aprofitades, requerirà un treball addicional fora de l'aula d'1 hora per part de l'estudiant.
Posteriorment es realitzaran algunes sessions d'exercicis, en les quals l'estudiant posa en pràctica els conceptes i tècniques presentades a la sessió de teoria, mitjançant la resolució de petits problemes. Per als primers exercicis de la sessió es proporcionaran les solucions, però per la resta no. L'objectiu és que consolidi els fonaments per tal que posteriorment pugui resoldre problemes de major complexitat. Per aquesta activitat el grup es divideix en quatre i es realitza en quatre grups petits d'estudiants.
El següent pas en el procés d'aprenentatge és la sessió de pràctiques. En ella es proposen uns problemes de mida més gran que requereixen integrar diferents conceptes i tècniques. Les pràctiques són incrementals, cada una afegint a la pràctica anterior. Aquesta activitat es realitza per parelles, en grups d'uns 20 estudiants, i es pressuposa que continua fora de l'aula.
L'últim pas en el procés d'aprenentatge de cada bloc de continguts és el de la resolució d'uns exercicis d'autoavaluació, mitjançant els quals l'alumne pot comprovar si ha adquirit les competències que posteriorment s'avaluaran a l'examen final.
9. Programació d'activitats
Setmana |
Activitat a l'aula agrupament / tipus d'activitat |
Activitat fora de l'aula agrupament / tipus d'activitat |
Setmana 1 |
Sessió 1 Teoría: introducción + logica proposicional |
Preparacion de problemas del seminario |
Setmana 2 |
Sessió 1 Seminario: lógica proposicional |
Preparacion de problemas del seminario |
Setmana 3 |
Sessió 1 Teoria: lógica de predicados |
Preparacion de problemas del seminario |
Setmana 4 |
Sessió 3 Seminario: lógica predicados |
Preparacion de problemas del seminario |
Setmana 5 |
Sessió 1 Seminario: resolución |
Preparacion de problemas del seminario |
Setmana 6 |
Sessió 1 Teoria: Programación lógica |
Realizar práctica |
Setmana 7 |
Sessió 1 Teoria: Programación lógica + semántica de programas |
Realizar práctica |
Setmana 8 |
Sessió 1 Teoria: Especificación de programas |
Realizar práctica |
Setmana 9 |
Sessió 1 Teoria: Verificacion de programas |
Realizar práctica |
Setmana 10 |
Sessió 1 Lab: lógica y AI |
Realizar práctica |