Grau en Enginyeria Multimèdia - Menció en Videojocs

Grau en Enginyeria Multimèdia - Menció en Videojocs

Forma't com a graduat en Enginyeria Multimèdia a La Salle i preparat per ser un professional excel·lent en integració tecnològica, amb una sòlida formació tècnica i artística

Tècniques avançades de programació

Descripció

L'assignatura té com a objectiu oferir una visió avançada de la programació d'algorismes. L'estudi de l'eficiència dels algorismes i de diverses tècniques de disseny es treballen en profunditat amb l'objectiu de resoldre problemes de forma eficient i elegant.

És important dominar l'anàlisi descendent, la modularitat, la gestió de memòria, les estructures de dades lineals, el llenguatge C, i altres continguts treballats a l'assignatura "Metodologia i tecnologia de la programació".

Amb l'assoliment dels conceptes exposats a l'assignatura, l'estudiantat adquireix habilitats per proposar i discutir l'adequació de solucions a problemes complexos.

Tipus assignatura
Tercer - Obligatoria
Semestre
Primer
Curs
2
Crèdits
4.00

Professors Titulars

Professor/a

Professors Docents

Coneixements previs

Domini de les tècniques de programació treballades a l'assignatura "Metodologia i Tecnologia de la Programació" (anàlisi descendent, modularitat, pas de paràmetres i estructures de dades bàsiques).
Facilitat per escriure codi amb un llenguatge de programació. (Recomanable C/Java).
Capacitat per seguir i proposar raonaments matemàtics.

Objectius

Els Resultats d'Aprenentatge amb els que s'alinea aquesta assignatura són:

- Definir programes informàtics interactius a partir de dissenys lògics i estructurats.
- Desenvolupar programari software de manera estructurada i eficient amb el propòsit de desenvolupar un projecte interactiu.

En acabar el curs, l'alumne ha de ser capaç de:

- Justificar la necessitat de l'especificació formal dels algorismes.
- Realitzar l'especificació formal d'un algorisme en termes de pre i post-condicions.
- Implementar un algorisme sense ambigüetats a partir de l'especificació del mateix.
- Avaluar l'eficiència d'un algorisme a través del càlcul del cost.
- Dissenyar un algorisme recursiu.
- Explicar els principals mecanismes de derivació formal i demostració formal d'algorismes recursius simples i de dur-ho a la pràctica en problemes.
- Escollir els mètodes de resolució de problemes combinatoris més adients en cada situació.
- Implementar els mètodes de Backtracking, Branch & Bound i Greedy adaptats a cada problema en concret i buscant-ne la màxima eficiència i eficàcia.

Continguts

Els continguts generals de l'assignatura són els següents:

1. Especificació d'algorismes
2. Eficiència d'algorismes
3. Disseny recursiu
4. Programació dinàmica
5. Teoria de la complexitat computacional
6. Problemes combinatoris

Metodologia

Durant l'assignatura, es faran servir les següents metodologies:

- Classes magistrals, per a aquells continguts que ho requereixin.
- Problemes i exercicis a classe, per a consolidar coneixements.
- Exercicis d'AC a classe i pràctiques avaluables.
- Self-paced learning, per a continguts que no s'avaluaran directament.
- Flipped-classroom, per a motivar l'autoaprenentatge i donar suport a l'estudiantat.

Avaluació

L'assignatura s'avalua mitjançant un examen i dues pràctiques. També s'hi realitzen exercicis d'avaluació continua que, més enllà de fomentar el seguiment de l'assignatura, poden permetre a alumnes que els superin amb bons resultats convalidar l'examen final mitjançant una entrevista

Criteris avaluació

La nota final de l'assignatura es calcula a partir de la ponderació de les notes de coneixements i de pràctiques.

Nota_Final = 0.5 · Nota_Coneixements + 0.5 · Nota_Pràctiques

Cal treure un 5 o més de cadascuna de les parts per a aprovar l'assignatura. Altrament, la nota serà com a molt un 4.

Coneixements

Per a calcular la nota de coneixements es pondera la nota de l'examen final amb la nota d'avaluació contínua, només en el cas de beneficiar a l'estudiant i sempre que la nota de l'examen sigui superior a 5.

Nota_Coneixements = max( 0.4 · Nota_AC + 0.6 · Nota_Examen,Nota_Examen )

Un dels exercicis d'avaluació contínua s'entregarà la setmana de punt de control, i substituirà l'examen corresponent.

En cas de suspendre la part de coneixements, es realitzarà un examen de recuperació a la convocatòria extraordinària de juliol, on la nota d'avaluació contínua no beneficiarà l'estudiant, i on cal treure un 5 o més per aprovar.

Pràctiques

La nota de pràctiques es calcula ponderant les notes de les dues pràctiques que es realitzen, havent d'aprovar cadascuna per separat amb nota igual o superior a 5. Altrament, la nota de pràctiques serà com a molt de 4.

Nota_Pràctiques = 0.4 · Nota_Pràctica_1 + 0.6 · Nota_Pràctica_2

Entrevista per alliberar l'examen final

En cas que un/a estudiant compleixi els requisits especificats a continuació, pot optar a convalidar l'examen final. Cal que l'estudiant:

- Aprovi totes les ACs, obtenint una mitjana superior o igual a 7.
- Aprovi la Pràctica 1 i entregui la Pràctica 2, ambdues en la primera convocatòria (sobre 10).
- Assisteixi de forma continuada a classe.

Els continguts de l'entrevista de convalidació, juntament amb la forma de demanar-la, es comunicaran quan s'apropi el final del primer semestre.

L'equip de l'assignatura proposarà una nota de convalidació a partir del resultat de l'entrevista i les notes d'AC. L'estudiant és lliure de renunciar a la convalidació, escollint realitzar l'examen final.

Bibliografia bàsica

Brass, P. (2008). Advanced Data Structures. Cambridge University Press.
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2022). Introduction to algorithms (4th Edition). MIT Press.
Sedgewick, R., Wayne, K. (2011). Algorithms (4th Edition). Addison-Wesley Professional.
Skiena, S. S. (2020). The algorithm design manual (3rd Edition). Springer.

Material complementari