Aquesta assignatura (juntament amb l’assignatura de Tècniques de programació) pretén donar uns conceptes de programació que ens serviran per complementar i ampliar els coneixements adquirits en l’assignatura Fonaments de programació, això implica que, és necessari haver adquirit les bases algorísmiques i de programació explicades en aquesta assignatura. També, es recomana haver cursat l’assignatura de Matemàtica discreta.
L’assignatura contribueix a adquirir un bon estil de programació (útil a l’hora de dissenyar aplicacions informàtiques dins del món professional).
En l’assignatura es presenta diverses estructures per a la representació de dades en un ordinador. S’utilitza el concepte de tipus abstracte de dades, que constitueix el punt de partida de la programació orientada a objecte (estudiada en l’assignatura de Programació Avançada).
Concretament, en aquest curs es veuran les estructures de dades lineals i no lineals amb les seves operacions bàsiques. També s’estudien aplicacions concretes sobre aquestes estructures de dades amb l’objectiu de realitzar aplicacions ‘reals’ de caire mitjà .
• Saber el concepte i utilitat dels tipus abstractes de dades.
• Conèixer els diferents tipus de dades. Similituds i diferències.
• Aprendre a dissenyar nous tipus de dades a partir d’estructures de dades ja conegudes.
• Decidir les estructures de dades més adients per a resoldre un problema.
• Saber especificar, dissenyar, implementar i testejar els algorismes associats a les estructures de dades que s’han identificat.
• Anàlisi d’un problema en el nivell d’abstracció adequat.
• Adquirir pràctica en els punts anteriors mitjançant un llenguatge de programació.
Per tal d’assolir les competències i els objectius de l’assignatura s’anirà combinant els continguts teòrics amb la resolució de problemes i casos pràctics.
Els continguts teòrics de l’assignatura ens serviran de base per a plantejar els problemes i altres treballs pràctics que es proposaran a l’estudiant.
En les hores lectives es revisaran els continguts teòrics i es solucionaran problemes que en facilitaran la comprensió. En aquestes sessions, s’impulsarà la participació de l’estudiant, que haurà d’aportar el seu plantejament i discutir la solució als problemes o treballs pràctics.
Es recomana estudiar un mòdul i adquirir pràctica (disseny i implementació de nous tipus i operacions). És molt important practicar de forma continuada al llarg del semestre per poder obtenir les capacitats requerides en l’assignatura.
Hi haurà treballs (TR) i pràctiques (PR) que s’han de lliurar al professor a través del campus de l’UdA (campus.uda.ad). Els treballs (TR) s’hauran de lliurar i les pràctiques (PR) s’hauran de lliurar i també defensar.
El campus esdevé l’eina bàsica de comunicació entre els estudiants i el professor fora de les hores lectives.
L'avaluació continuada contempla 3 exàmens presencials (ExAC), 3 pràctiques (PR) i unes activitats complementàries.
La qualificació global d'avaluació continuada (QAC) serà QExAC * 0,7 + QPR * 0,3
On QExAC és la mitjana dels ExAC, QPR és la mitjana de les PR.
La qualificació d’avaluació continuada està formada per:
• Una qualificació d’exàmens, la mitjana ponderada (20%, 30% i 50%) d’aquests exàmens (QExAC) ha de ser >=4.
• Una qualificació de pràctiques, la mitjana d’aquestes pràctiques (QPR) ha de ser >=4.
Per aprovar l’avaluació continuada cal obtenir una qualificació global d'avaluació continuada (QAC) >= 5.
Les activitats complementàries poden incrementar fins a un 20% la QAC sempre i quan QAC>=5
La qualificació de l’expedient serà QAC sempre i quan QAC>=5.
Si no s’aprova l'assignatura per avaluació continuada o s’opta per realitzar únicament l’avaluació final, hi ha la possibilitat de fer l’examen presencial final (ExF) sempre i quan s’hagin defensat prèviament les pràctiques.
Avaluació final: Si no s’aprova l'assignatura per avaluació continuada, hi ha la possibilitat de fer l’examen l’avaluació final.
L'avaluació final contempla un examen presencial final (ExF) i la defensa de les tres pràctiques (PR) d’avaluació continuada.
La qualificació d’avaluació final (QAF) serà la mitjana ponderada entre l’examen final i la qualificació de pràctiques (QExF*0,7 + QPR*0,3) sempre i quan QExF >=4 i QPR >=4
Per aprovar l'assignatura cal obtenir una qualificació global de l'avaluació final (QAF) >= 5.
La qualificació de l’expedient serà:
• NP: Si no es presenta a l’examen presencial final o no es presenta a la defensa de les pràctiques
• QAF: Si es presenta a l’avaluació final.
Material del professor
Apunts dels continguts de l’assignatura.
Recull d’exercicis dins els apunts anteriors.
Apunts del llenguatge de programació.
Llibre de referència:
Estructura de datos y métodos algorítmicos. Ejercicios resueltos.
Martí Ollet, N., Ortega Mallén, Y., Verdejo López, J.A.
ISBN 84-205-3849-3
Editorial Pearson Prentice Hall
Enllaç:
http://ocw.uoc.edu/informatica-tecnologia-i-multimedia/practiques-de-programacio/materials/
[Aho et all, 1998]
Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman
Estructuras de Datos y Algoritmos
Addison Wesley, 1998
[Weiss, 1995]
Mark Allen Weiss
Estructuras de Datos y Algoritmos
Addison- Wesley, 1995
[Franch, 1993]
Xavier Franch
Estructures de Dades. Especificació, disseny i implementació.
Edicions UPC, 1993
1. Tipus abstracte de dades
1.1. Concepte
1.2. Notació
1.3. Primers exemples
2. Estructures de dades lineals
2.1. Col·leccions d’elements
2.2. Organització contigua
2.2.1. TAD llista: ordenada i no ordenada
2.2.2. TAD pila com a cas particular de llista
2.2.3. TAD cua com a cas particular de llista
2.3. Organització encadenada
2.3.1. TAD llista: ordenada i no ordenada
2.3.2. TAD llista circular
2.3.3. TAD llista doblement encadenada
2.3.4. Implementació de les diferents estructures de dades mitjançant punters
2.3.5. Gestió dinàmica de la memòria: punters
3. Estructures de dades no lineals
3.1. Concepte i justificació d’ús
3.2. Arbres binaris i arbres n-aris. Equilibrat en arbres binaris
3.3. Grafs. Tipus de grafs. Diferents implementacions.
3.4. Aplicacions