2003-2004

Enginyeria Tè;cnica en Informàtica de Sistemes (3372)


Programació II (12407) 


Descripció i objectius

Aquesta assignatura és una continuació de Programació I, centrant-se en aspectes més avançats d'algorísmica, com recurrència, complexitat, algorismes de cerca i classificació i tècniques de disseny d'algorismes. La part pràctica de l'assignatura es fa amb el llenguatge de programació C, que també serà introduït a les sessions de teoria.

Mètode d’avaluació

L'assignatura consta de dues parts, pràctica i teoria, cada una contant el 50% de la nota final, tot i que cal aprovar les dues parts per superar l'assignatura. La part teòrica s'avalua amb un examen tipus test, mentre que la part pràctica amb una pràctica final que s'anirà fent en bona part a les sessions de laboratori.

Tema 1: El llenguatge de programació C

Característiques generals.
Tipus de dades.
Estructures de control.
Arrays i punters.
Estructures.
Entrada i sortida.

Tema 2: Recurrència

Eficiència dels algorismes.
Notació asimptòtica.
Anàlisi de la recurrència.

Tema 3: Mètodes de cerca i de classificació

Cerca lineal.
Cerca binària.
Altres mètodes de cerca.
Esquemes simples de classificació.
Classificació ràpida ( quicksort).
Classificació per monticles ( heapsort).
Classificació per urnes ( binsort).
Mètodes de classificació avançats.

Tema 4: Tècniques d’anàlisi d’algorismes

Eficiència dels algorismes.
Notació asimptòtica.
Anàlisi de la recurrència.

Tema 5: Tècniques de disseny d’algorismes

Algorismes dividir i vèncer.
Programació dinàmica.
Algorismes voraços.
Algorismes de retrocés ( backtracking).
Algorismes probabilistes.
Algorismes heurístics.

Bibliografia

AHO, A.V. i d’altres: Estructuras de datos y algoritmos. Addison Wesley, 1988. ISBN: 968-444-345-5.
BRASSARD, G.; BRATLEY, P: Fundamentos de Algoritmia. Prentice Hall, 1997. ISBN: 84-89660-00-X.
WIRTH, N: Algoritmos y estructuras de datos. Prentice Hall, 1987. ISBN: 968-880-113-5.WIRTH, N: Algoritmos + estructuras de datos = programas. Ediciones del Castillo, 1980. ISBN: 84-219-0172-9.

Altres llibres sobre el tema:
ANTONAKOS, J. L.; MANSFIELD JR., K. C: Programación estructurada en C. Prentice Hall, 1997. ISBN: 84-89660-23-9.
CEBALLOS, F. J.: Curso de programación C/C++. Ra-Ma, 1995. ISBN:8478972005.
DEITEL, H. M.; DEITEL, P. J: Cómo programar en C/C++. 2a. edició. Prentice Hall, 1995. ISBN: 968-880-471-1.
GOTTFRIED, B. S: Programación en C. McGraw-Hill, Schaum, 1997. ISBN: 8448110684.
KNUTH, D.E: El arte de programar ordenadores. Editorial Reverté. 3 volums. ISBN: 84-291-2661-9.
MOLDES TEO, FJ: Lenguaje C. Anaya Multimedia, 1997. Guías Prácticas. ISBN: 84-7614-631-0.
PRATT, T.W.; ZELKOWITZ, M.V: Lenguajes de programación. Diseño e implementación. 3a. edició. Prentice Hall, 1997. ISBN: 970-17-0046-5.
SCHILDT, H. C: Manual de referencia. McGraw-Hill. ISBN: 8448103351.
KERNIGHAN, B. W.; RITCHIE, D.M: El lenguaje de programación C. 2a. edició. Prentice Hall, 1991. ISBN: 968-880-205-0.

Darrera actualització 24-11-2010
© Universitat Pompeu Fabra, Barcelona