Responsable: | (-) |
Altres: | (-) |
Crèdits | Dept. | Tipus | Requisits |
---|---|---|---|
7.5 (6.0 ECTS) | CS |
|
P1
- Pre-requisit per la EI , ETIG PRAP - Pre-requisit per la EI , ETIG |
Responsable: | (-) |
Altres: | (-) |
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, s'estudia 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 autònom dels estudiants.
A mig quadrimestre es farà un examen parcial (nota NP), de caire pràctic, sobre els temes d'estructures lineals i gestió de memòria.
L'examen final (nota NF) cobreix tota l'assignatura. Aquest examen té un caràcter més conceptual, però torna a incloure els temes ja avaluats en el parcial.
La nota de laboratori (nota NL) ve donada per dos exercicis de programació que compten igual. Els exercicis es resolen en grups de dos estudiants. El primer exercici, sobre estructures lineals, es proposarà cap a la tercera o quarta setmana de classes. El segon exercici, sobre taules hash, es proposarà unes tres setmanes abans de l'acabament de classes. En tots dos casos hi ha unes quatre setmanes per resoldre'ls.
La nota total de l'assignatura es calcula amb la fòrmula:
NT = max(0,2*NP + 0,6*NF, 0,8*NF) + 0,2*NL
PREREQUISITS: Pràctiques de Programació