Universitat de Girona

Programa de l'assignatura

Curs 2002-03

3105II0008 METODOLOGIA I TECNOLOGIA DE LA PROGRAMACIÓ


Objectius Programa provisional  

- Adquirir la capacitat de raonar sobre els problemes i de dissenyar algorismes que els resolguin correctament mitjançant una metodologia orientada a objectes.
- Implementació d’algorismes mitjançant un llenguatge de programació orientat a objectes.
 
Prerrequisits  

obligatoris: cap
recomanats: cap
 
Contingut (Programa)  

Tema 1: Introducció.

1.1. Introducció a la computació.
1.2. Conceptes bàsics de programació.

Tema 2: Eines bàsiques.

2.1. Notació algorísmica.
2.2. Dades.
  • Tipus elementals de dades.
  • Variables i constants.
  • Operadors.
  • Expressions.
2.3. Sentències.
  • Assignació.
  • Entrada i sortida.
2.4. Composició de sentències.
  • Seqüencial.
  • Alternativa.
  • Iterativa. Disseny iteratiu.
Tema 3: Introducció a la programació OO.

3.1. Conceptes bàsics.
  • Objecte.
  • Missatge.
  • Classe.
  • Encapsulament.
3.2. Cicle de vida d’un objecte.
  • Creació.
  • Ús.
  • Destrucció.
3.3. Creació i ús de classes.
  • Declaració i cos.
  • Constructors.
  • Membres: atributs i mètodes.
  • Atributs d’instància i de classe.
  • Mètodes d’instància i de classe.
  • Accés als membres d’una classe: públic i privat.
3.4. Implementació de mètodes.
  • Signatura i prototipus.
  • Paràmetres.
  • Cos.
  • Sobrecàrrega de mètodes.
Tema 4: Seqüències.

4.1. Seqüència.
  • Definició.
  • Comportament.
4.2. Esquemes de recorregut i de cerca.
  • Recorregut.
  • Cerca.
  • Composició d’esquemes.
Tema 5: Eficiència.

5.1. Concepte d’eficiència.
5.2. Mesures assimptòtiques.
5.3. Càlcul de l’eficiència.

Tema 6: Taules.

6.1. Taula.
  • Definició.
  • Tractament.
6.2. Esquemes de recorregut i de cerca.
  • Recorregut.
  • Cerca seqüencial.
  • Cerca dicotòmica.
6.3. Algorismes bàsics d’ordenació.
  • Intercanvi directe.
  • Selecció directa.
  • Inserció directa.
Tema 7: Disseny d’aplicacions OO.

7.1. Fases en l’elaboració d’un programa OO.
7.2. Reusabilitat.
7.3. Herència i polimorfisme.

Tema 8: Recursivitat.

8.1. Disseny recursiu.
8.2. Càlcul de l’eficiència
8.3. Algorismes recursius d’ordenació.
  • Mergesort.
  • Quicksort.
 
Bibliografia  


- CASTRO,J.; CUCKER,F.; MESSEGUER,X.; RUBIO,A.; SOLANO,Ll.; VALLES,B.:Curs de programació, McGraw-Hill, 1992
- VANCELLS, J.; LOPEZ, E. : Programació: Introducció a l'Algorísmica, Eumo Editorial, 1992
- BALCÁZAR, J.L.: Programación Metódica, McGraw-Hill, 1993
- PEÑA, R: Diseño de programas. Formalismo y abstracción, Prentice Hall International, 1993
- ARNOW,D; WEISS,G: Introducción a la programación con JAVA, Addison Wesley, 2001
- CEBALLOS, J.: Java 2. Curso de programación, RA-MA, 2000
- The Java Tutorial: http://java.sun.com
- LISKOV, B: Program development in Java, Addison Wesley, 2001
 
Mètodes docents  

- Classes de teoria: 3 hores setmanals
- Classes de laboratori: 2 hores setmanals
 
Tipus d'exàmens i avaluacions  

La nota final de l’assignatura serà obtinguda a partir de l’examen final (80%) i del laboratori (20%).
Per tal de poder aprovar l’assignatura, cal obtenir una nota mínima de 5 en ambdues parts.

Exàmens

Durant el curs es realitzarà, per a la convocatòria ordinària, un examen parcial i un examen final. L’examen final constarà de dues parts, de les quals la primera podrà ser compensada per l’examen parcial sempre i quan l’alumne hagi obtingut una nota superior o igual a 5. La primera part té un pes del 30% i la segona un pes del 70% (caldrà obtenir una nota mínima de 5 de cadascuna de les parts per poder superar l’assignatura).

L’alumne disposarà d’una convocatòria extraordinària per la qual no es guardarà cap nota dels exàmens previs.

Laboratori

Convocatòria ordinària

La nota de pràctiques serà penada si les pràctiques no són lliurades o acceptades en els terminis establerts pel professor.

Convocatòria extraordinària

Els alumnes que no hagin superat el laboratori a la convocatòria ordinària tindran dret a fer-ho en convocatòria extraordinària. El professor de laboratori els hi assignarà una nova pràctica que li haurà de ser lliurada en els terminis establerts.

 
Informació addicional  

- Disseny i implementació d’algorismes en llenguatge JAVA
- Les classes de laboratori s’estructuren en blocs:

Bloc 1: Eines bàsiques de programació.
  • duració: 6 sessions
  • es treballen algorismes que corresponen al tema 2 de teoria
Bloc 2: Introducció a la programació OO.
  • duració: 3 sessions
  • corresponent al tema 3 de teoria
Bloc 3: Algorísmica sobre seqüencies i taules
  • duració: 7 sessions
  • corresponent als temes 4, 5 i 6 de teoria
Bloc 4: Disseny OO
  • duració: 5 sessions
  • corresponent al tema 7 de teoria
Bloc 5: Recursivitat
  • duració: 2 sessions
  • corresponent al tema 8 de teoria
 
Llengua de les classes