Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
CS
Mail
caroline.leonore.konig@upc.edu
Professorat
Responsable
- Caroline König ( caroline.leonore.konig@upc.edu )
Hores setmanals
Teoria
2
Problemes
1
Laboratori
1
Aprenentatge dirigit
0
Aprenentatge autònom
6
Competències
Coneixements
Habilitats
Competències
Objectius
-
Conèixer les principals estructures de dades utilitzades en la bioinformàtica.
Competències relacionades: K3, K4, S7, S8, C6,
Subcompetences- Conèixer problemes rellevants en computació bioinformàtica que es resolen basant-se en estructures de dades específiques.
-
Comprendre el disseny i la implementació d'estructures de dades bàsiques per a una gestió eficient de dades en algoritmes avançats.
Competències relacionades: K3, K4, S7, S8, C6,
Subcompetences- Conèixer, comprendre, dissenyar estructura de dades per implementar diccionaris.
- Conèixer, comprendre, dissenyar estructura de dades per implementar cues de prioridad.
- Conèixer, comprendre, dissenyar estructuras de dades per a implementar arbres.
- Conèixer, comprendre, dissenyar estructura de dades per implementar piles i cues.
-
Coneixements sobre algorismes que resolguin problemes clàssics en grafs.
Competències relacionades: K3, K4, S7, S8, C6,
Subcompetences- Conèixer, dissenyar, comparar i implementar algoritmes de camí més curt en grafs.
- Conèixer, dissenyar, comparar i implementar algoritmes d'ordenació topològica.
- Conèixer, dissenyar, comparar i implementar algoritmes de recorregut de grafs.
-
Comprendre, dissenyar, comparar i implementar algoritmes de string matching.
Competències relacionades: K3, K4, S7, S8, C6, -
Conèixer, dissenyar i implementar algoritmes de cerca exhaustius.
Competències relacionades: K3, K4, S7, S8, C6,
Subcompetences- Comprendre, dissenyar i implementar algoritmes per explorar l'espai de cerca: Backtracking i Branch and Bound.
-
Analitzar els límits de la computació a través de l'estudi de la completesa computacional. C
Competències relacionades: K3, K4, S7, S8, C6,
Subcompetences- Comprendre el Teorema de Cook-Levin com a base per demostrar la NP-completesa de problemes.
- Reconèixer i classificar diversos problemes NP-complets, explorant les seves dificultats i les possibles aproximacions algorítmiques per abordar-los.
Continguts
-
Introducció a estructures de dades en bioinformatica
Introducció a les estructures de dades clau i visió general de la seva aplicació en problemes bioinformàtics rellevants. -
Algorismes sobre arbres
Estructura de dades per arbres. Arbres binaris de cerca. Arbres AVL. -
Diccionaris
Implementacions bàsiques: taules and llistes. Implementacions advancades: taules de dispersió, arbores de cerca binaria -
Cues de prioritat
Operacions amb cuas de prioritat. Implementació amb heaps. Heapsort. -
Algorismes sobre strings
Algorisme exacte i aproximat de tipus string matching. -
Algorismes bàsics de grafs
Representacions: Matriu d'adjacència, llista d'adjacència. Cerca en profunditat, cerca en amplada. Algorisme de Dijkstra i Bellman-Ford del cami més curt. -
Algorismes sobre grafos avançats
Ordenació topològica, Arbres de recobriment mínim, Algorisme de Kruskal, Algorisme de Prim -
Algorismes de cerca exhaustiva
Principis: espai de solucions, generació de subconjunts i permutacions. Backtracking i Branch and Bound. -
Nocions d'intractabliitat
Classe P i NP. NP-completesa y reducabilitat.
Activitats
Activitat Acte avaluatiu
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Teoria
4h
Problemes
2h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Teoria
2h
Problemes
2h
Laboratori
1h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
Teoria
3h
Problemes
2h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Teoria
4h
Problemes
2h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Teoria
2h
Problemes
1h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
Teoria
4h
Problemes
2h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Teoria
2h
Problemes
4h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Metodologia docent
Les classes de teoria presenten els conceptes i tècniques fonamentals, que es treballen de manera pràctica a les sessions de problemes i laboratori mitjançant una col·lecció d'exercicis resolts en un jutge automàtic.La teoria es desenvolupa en sessions setmanals de dues hores, mentre que les classes de laboratori i problemes es realitzen cada quinze dies, també amb una durada de dues hores cadascuna.
El curs es basa en la programació amb Python.
Mètode d'avaluació
EP = nota de l'examen parcial (entre 0 i 10)EF = nota de l'examen final (entre 0 i 10)
AC= activitats d'avaluació continuada (problemes)
EJ= exercicis de programació en el jutge
NOTA = 10.0%AC + 10.0%EJ+ 35.0%EP + 45.0%EF
La nota de la reavaluació substitueix la nota del examen parcial i final.
Bibliografia
Bàsic
-
Introduction to algorithms
- Cormen, Thomas H; Leiserson, Charles Eric; Rivest, Ronald L; Stein, Clifford,
The MIT Press,
[2022].
ISBN: 9780262046305
https://research-ebsco-com.recursos.biblioteca.upc.edu/c/ik5pvi/search/details/lq2sgumirf?db=nlebk -
Combinatorial algorithms : generation, enumeration and search
- Kreher, Donald L; Stinson, Douglas R,
CRC Press,
cop. 1999.
ISBN: 084933988X
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001878419706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Introduction to computation and programming using Python : with application to computational modeling and understanding data
- Guttag, John V,
2021.
ISBN: 9780262542364
https://research-ebsco-com.recursos.biblioteca.upc.edu/c/ik5pvi/search/details/mlj5v5o4zf?db=nlebk
Complementari
-
Algorithms unlocked
- Cormen, Thomas H,
The MIT Press,
cop. 2013.
ISBN: 9780262313230
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=3339585 -
Algorithms on trees and graphs : with python code
- Valiente Feruglio, Gabriel,
Springer,
[2021].
ISBN: 9783030818845
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004916440606711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- MIT OpenCourseWare: it is a free publication of the materials of the courses of the Massachusets Institute of Technology (MIT) that shows most of the topics that are taught in MIT. Contains notes, exercises, solved exercises, exams and videos of classes. http://ocw.mit.edu/courses/#electrical-engineering-and-computer-science
- Jutge https://jutge.org/
- Algorithms Courses on the WWW https://people.cs.pitt.edu/~kirk/algorithmcourses/index.html
- Lecture Notes K. Wayne of the course "Algorithms and Data Structures" from Princeton University https://www.cs.princeton.edu/courses/archive/fall12/cos226/lectures.php