| Responsable: | Fernando Orejas Valdés (orejas |
| Altres: | Ana Cristina Zoltan Torres (zoltan Ana Edelmira Pasarella Sanchez (edelmira Nicolas Eduardo Mylonakis Pascual (nicos |
| Crèdits | Dept. | Tipus | Requisits |
|---|---|---|---|
| 7.5 (6.0 ECTS) | LSI |
|
P1
- Pre-requisit per la EI , ETIG PRAP - Pre-requisit per la EI , ETIG |
| Responsable: | Fernando Orejas Valdés (orejas |
| Altres: | Ana Cristina Zoltan Torres (zoltan Ana Edelmira Pasarella Sanchez (edelmira Nicolas Eduardo Mylonakis Pascual (nicos |
D'una banda, es pretén que l'estudiant conegui millor com és un llenguatge
de programació, en particular un llenguatge orientat a objectes. Amb aquest
objectiu s'estudiaran aspectes com són l'estructura de tipus, el control de
dades, la gestió de memòria i els mecanismes d'abstracció d'un llenguatge
d'aquestes característiques.
D'altra banda, es pretén que l'estudiant conegui noves tècniques de programació.
En particular, l'us de la memòria dinàmica i les estructures de dades enllaçades, que estan a la base de moltes aplicacions.
Hores estimades de:
| T | P | L | Alt | L Ext. | Est | A Ext. |
| Teoria | Problemes | Laboratori | Altres activitats | Laboratori extern | Estudi | Altres hores fora d'horari fixat |
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 2,0 | 2,0 | 0 | 12,0 | 6,0 | 0 | 26,0 | |||
|
Piles
Especificació. Aplicacions. Implementació amb taula estàtica. Implementació amb taula dinàmica. Implementació amb nodes encadenats. Cues Especificació. Aplicacions. Implementació amb taula circular. Implementació amb nodes encadenats. Llistes Especificació. Aplicacions. Implementació amb nodes encadenats. Variacions.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 2,0 | 2,0 | 0 | 8,0 | 6,0 | 0 | 22,0 | |||
|
Arbres generals, binaris i m-aris:
Especificació d'arbres generals. Especificació d'arbres $m$-aris. Especificació d'arbres binaris. Exemples: arbres d'expressió. Implementació enllaçada d'arbres binaris. Implementació enllaçada d'arbres $m$-aris. Isomorfisme entre arbres generals i arbres binaris. Implementació d'arbres generals utilitzant punters al primer fill i al següent germà. Esquemes de recorregut d'arbres: Recorreguts en preordre, postordre, inordre i per nivells. Aplicació: Avaluació d'expressions, derivació formal d'expressions.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 0 | 0 | 0 | 0 | 2,0 | 0 | 4,0 | |||
|
Criteris de disseny d'un llenguatge de programació
Implementació d'un llenguatge de programació. Màquines abstractes |
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 6,0 | 2,0 | 0 | 0 | 0 | 0 | 0 | 8,0 | |||
|
Concepte de tipus
Tipus de dades i característiques d'un llenguatge de programació Polimorfisme i sobrecarrega. Definició d'un sistema de tipus mitjançant regles d'inferència Comprovació de tipus |
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 5,0 | 2,0 | 0 | 0 | 7,0 | 0 | 0 | 14,0 | |||
|
Punters. new i delete.
Destructor, constructor de còpia i operador d'assignació. Assignació dinàmica de memòria. Algorismes de "garbage collection" |
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 2,0 | 0 | 0 | 0 | 5,0 | 0 | 10,0 | |||
|
Noms i entitats
Visibilitat i vida d'una entitat Ambits estàtics i dinàmics. Acces a entitats: cadena estàtica i dinàmica Pas de paràmetres. |
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 6,0 | 2,0 | 2,0 | 0 | 6,0 | 8,0 | 0 | 24,0 | |||
|
Especificació de taules i diccionaris
Implementació amb taules hash: hash obert, tancat i altres variacions. Funcions de hash
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 1,0 | 0 | 0 | 0 | 4,0 | 0 | 8,0 | |||
|
Herència i subtipus
Herència com a eina de disseny Herència i modificabilitat dels programes |
||||||||||
| Total per tipus | T | P | L | Alt | L Ext. | Est | A Ext. | Total |
| 40,0 | 16,0 | 6,0 | 0 | 33,0 | 41,0 | 0 | 136,0 | |
| Hores addicionals dedicades a l'avaluació | 6,0 | |||||||
| Total hores de treball per l'estudiant | 142,0 | |||||||
Es pretén exposar el temari de forma molt pràtica, a través de la presentació de molts exemples.
Les classes es divideixen en tres tipus: sessions de teoria, sessions de
problemes i sessions de laboratori. En particular, al llarg del curs es faran
4 hores setmanals de teoria i problemes. Pel que fa al laboratori, només es
faran 2 o 3 sessions al llarg del curs. La resta del temps de laboratori
es dedica al treball individual dels estudiants.
Es realitzaran dos examens: un dels aspectes més teòrics de l'assignatura, amb qüestions curtes (nota NT) i un altre de problemes de disseny d'estructures de dades (nota NP).
La nota de laboratori (nota NL) ve donada per dos exercicis de programació individuals que compten igual. El primer exercici, sobre estructures lineals, es presentarà cap a la sisena setmana de classes. El segon exercici,
sobre taules hash, es presentarà la darrera setmana de classes.
La nota final (nota N) és N = 0.4 NT + 0.4 NP + 0.2 NL
PREREQUISITS: Pràctiques de Programació