Programació Metòdica (PM)
(http://www-lsi.upc.edu/~promet/promet.html)
Professors Responsables: |
ALBERT RUBIO GIMENO (rubio lsi.upc.edu)
|
|
Crèdits: 7.5 (4.5 T 0.0 P 3.0 L)
|
Departament:
LSI
|
Tipus d'assignatura
Assigatura de la Fase de Selecció
Requisits de l'assignatura
IP
- Pre-requisit per la EI , ETIG , ETIS
|
|
Objectius docents
Consolidar l'aprenentatge de la programació seguint una metodologia que ajudi a produir programes fiables i fàcils d'entendre, modificar, mantindre i reusar. Per assolir aquest objectiu el curs permetrà que l'estudiant - aprengui a resoldre problemes més complexos en tamany mitjançant tècniques de disseny modular. - augmenti la seva capacitat per raonar amb rigor respecte a la correctesa dels programes dissenyats.
Programa
1. Modularitat
Descomposició de problemes complexos. Reusabilitat. Independència de la representació.Especificació de mòduls: dades i operacions. Jerarquia de mòduls. Enriquiments. Ús i implementació de mòduls.
2. Disseny de mòduls
Descomposició per dades. Construcció de tipus. Descomposició funcional. Refinaments successius. Disseny ascendent/descendent.
3. Modularitat mitjançant orientació a objectes
(Aquest tema s'impartira a classe de laboratori) Classes, objectes i mètodes. Objectes i variables. Ús de classes. Disseny de classes.
4. Especificació formal d'accions i funcions
Lògica de primer ordre: asserts, quantificadors. Quantificadors sobre els enters. Precondicions i postcondicions.
5. Especificació equacional de mòduls
Especificació i deducció equacional. Alguns exemples d'especificacions equacionals: piles, cues, arbres binaris. Exemples d'enriquiments. Teoremes inductius.
6. Justificació i derivació formal d'algorismes
Descripció axiomàtica (repàs i ampliació): assignació, composició sequencial i alternativa, crida a acció i funció. El principi d'inducció i la seva validesa: preordes noetherians. Anàlisi i construcció de programes recursius. Construcció de programes per generalitzaci\'o. Composició iterativa i invariants. Disseny iteratiu.
Avaluació
La nota final de l'assignatura serà 60% T/P + 40% L. La nota T/P (Teoria/Problemes) ,es basarà en un examen final . La nota L (Laboratori) es basarà en els dos tipus d'avaluació següents: 1) L'avaluació de la Documentació de la Pràctica (que anomenarem DP). 2) Un Control (examen) sobre els continguts de la Pràctica (que anomenarem CP). Un fet important és que la nota mínima per fer mitjana amb les dues proves és un 3. Cas de que no supereu aquesta nota mínima, la nota final de laboratori serà la menor de les dues notes obtingudes. així doncs tenim que, Si DP >= 3 i CP >= 3 llavors Nota final L = 50%DP + 50%CP Si DP < 3 o CP < 3 llavors Nota final L = mínim (DP, CP)
Bibliografia
Bibliografia bàsica
- BALCAZAR, J.L Programación Metódica McGraw-Hill, 1993
Bibliografia complementària
- PEÑA R. Diseño de Programas: Formalismo y Abstracción Prentice-Hall, 1993 - Barbara Liskov and John Guttag Program Development in Java : Abstraction, Specification, and Object-Oriented Design Addison-Wesley, 2000 - J. Castro, F.Cucker, X. Messeguer, A. Rubio, Ll. Solano y B. Valles Curso de programación Mc Graw-Hill, 1993 - SCHOLL, P.C Algorítmica y representación de datos 2:recursividad y árboles Masson, 1986
Informació complementària
ACTIVITATS DOCENTS 1. Classes de teoria (3h/setmana) En aquestes classes s'exposa el temari. Normalment de cada concepte nou es realitzen diversos exemples que facilitin la seva assimilació. Degut a la constant resolució de problemas, aquestes classes són notablement participatives. 2. Classes de laboratori (2h/setmana) N'hi ha de dos tipus: Les primeres són classes en les que s'introdueixen totes les eines noves necessaries per resoldre la pràctica i inclouen una primera part descriptiva i una segona part en la que els alumnes treballen els conceptes adquirits resolent algun problema a la mateixa aula de laboratori. Aquestes classes les imparteixen un professor amb el suport d'un becari. Les segones es realitzen un cop donat l'enunciat de la pràctica Aquestes sessions són les anomenades de supervisió de la pràctica. En aquestes sessions l'estudiant pot comentar amb el professor questions relacionades amb el desenvolupament de la pràctica. Finalment, hi ha una sessió d'entrega de la pràctica i l'alumne rep unes primeres impressions sobre el treball realitzat.
|