El curs presenta els elements d'un llenguatge de programació de computadors i els fonaments bàsics d'algorísmia per treballar amb dades escalars i estructurades. Durant el curs s'adquiriran els coneixements per tractar problemes de càlcul de petita i mitjana complexitat.
Professorat
Responsable
Jordi Petit Silvestre (
)
Altres
David Garcia Soriano (
)
Emma Rollón Rico (
)
Juan Luis Esteban Ángeles (
)
Hores setmanals
Teoria
3
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
7.5
Competències
Competències Tècniques
Competències tècniques
CE2 - Ser capaç de programar solucions a problemes d'enginyeria: Dissenyar solucions algorítmiques eficients a un problema computacional donat, implementar-les en forma de programari robust, estructurat i mantenible, i comprovar la validesa de la solució.
Competències Transversals
Transversals
CT5 - Ús solvent dels recursos d'informació. Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i informació en l'àmbit de l'especialitat i valorar de forma crítica els resultats d'aquesta gestió.
CT6 [Avaluable] - Aprenentatge autònom. Detectar deficiències en el propi coneixement i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per ampliar aquest coneixement.
CT7 - Tercera llengua. Conèixer una tercera llengua, preferentment l'anglès, amb un nivell adequat oral i escrit i d'acord amb les necessitats que tindran els titulats i titulades.
Bàsiques
CB5 - Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia
Competències Tècniques Generals
Genèriques
CG1 - Concebre sistemes computacionals que integren dades de procedències i formes molt diverses, construeixen amb ells models matemàtics, raonen sobre aquests models i actuen en conseqüència, aprenent de l'experiència.
CG2 - Elegir i aplicar els mètodes i tècniques més adequats a un problema definit per dades que representin un repte pel seu volum, velocitat, varietat o heterogeneïtat, inclosos mètodes informàtics, matemàtics, estadístics i de processament del senyal.
CG5 - Poder recórrer a coneixements fonamentals i metodologies de treball sòlides adquirits durant els estudis per adaptar-se als nous escenaris tecnològics del futur.
Objectius
Ser capaç de resoldre problemes de càlcul de petita i mitjana complexitat utilitzant tècniques algorísmiques i de programació.
Competències relacionades:
CB5,
CT5,
CT6,
CT7,
CE2,
CG1,
CG2,
CG5,
Continguts
Conceptes bàsics de programació.
Introducció a conceptes bàsics de programació: algorisme, programa, variables, expressions, assignacions. Instruccions condicionals (if) i iteratives (while, for). Resolució de problemes amb dades escalars: màxim de dos nombres, nombres primers, màxim comú divisor.
Funcions i recursivitat.
Funcions: disseny i pas de paràmetres. Exemples de disseny de funcions. Disseny recursiu. Exemples de recursivitat simple (factorial, escriure la representació d'un nombre en binari). Exemples de recursivitat múltiple (Fibonacci, Hanoi).
Vectors.
Representació d'estructures de dades amb llistes. Algorismes de recorregut i cerca. Algorismes d'ordenació de vectors: inserció, sel.lecció i fusió. Anàlisi de la seva complexitat.
Invariants i anàlisi de complexitat.
Disseny i raonament de bucles amb invariants. Anàlisi de complexitat d'algorismes. Notació O Gran. Exemples d'anàlisi de complexitat amb iteracions i recursivitat.
Més tipus de dades: matrius, estructures, conjunts, diccionaris.
Algorismes bàsics sobre matrius (suma, simètrica, transposada, multiplicació). Ús d'estructures de dades i exemples d'utilització.
Càlculs amb nombres reals.
Representació de nombres reals. Algorismes amb nombres reals: suma de sèries, mètode de Newton-Raphson, aproximació d'integrals definides. Polinomis: representació i operacions bàsiques.
Algorismes bàsics de càlcul.
Algorismes amb complexitat logarítmica (potència, Fibonacci). Algorismes geomètrics: puntes, rectes i poligons. Sistemes d'equacions: eliminació Gaussiana.
Algorismes combinatoris.
Generació de permutacions. Cicles en permutacions. Subseqüències que sumin una constant. Camins en una graella. Resolució d'un sudoku.
Activitats
ActivitatActe avaluatiu
Aprenentatge sobre conceptes bàsics de programació.
L'alumnat assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Aprenentage sobre funcions i recursivitat.
L'alumnat assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Aprenentatge sobre vectors.
L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Aprenentatge sobre invariants i anàlisi de complexitat.
L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
3h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
Matrius i tuples.
L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Càlculs amb nombres reals.
L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Aprenentatge sobre algorismes bàsics de càlcul.
L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Aprenentatge sobre algorismes combinatoris.
L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori. Objectius:1
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Prova de laboratori
Setmana:
7 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
2.5h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h
Prova de laboratori
Setmana:
15 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
2.5h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Prova de teoria
Setmana:
15 (Fora d'horari lectiu)
Teoria
2.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Metodologia docent
Els continguts teòrics de l'assignatura s'imparteixen a les classes de teoria. Aquestes classes es complementen amb exemples pràctics i problemes que els estudiants han de resoldre en les hores d'Aprenentatge Autònom.
En les sessions de laboratori es consoliden els coneixements adquirits a les classes de teoria mitjançant la resolució de problemes de programació relacionats amb els continguts teòrics. Durant les classes de laboratori, el professorat anirà introduint noves tècniques i deixarà una part important de la classe per tal que els estudiants treballin en els exercicis proposats.
Mètode d'avaluació
Hi ha dues proves que es fan al laboratori: una parcial (PL) i una final (FL). També hi ha un examen final escrit (FT).
La nota FINAL es calcula d'acord amb la fórmula:
0,6 max{0,3 PL + 0,7 FL, FL} + 0,4 FT.
La nota de REAVALUACIÓ es calcula d'acord amb la fórmula:
0,6 RL + 0,4 RT
on RL és la nota de de l'examen de laboratori a la reavaluació i RT és la nota de l'examen de teoria a la reavaluació.