

Introduction to databases and database management systems Examples of classic NP-complete problems. Introduction to NP and Computational Intractabilityīasic introduction to P and NP classes, Polynomial-Time reduction, and NP-completeness. Greedy, divide and conquer, and dynamic programming.

Representations: adjacency matrices, adjacency lists and implicit representations. Advanced implementations: hash tables, binary search trees, and AVL trees. Analysis of the correctness and cost of iterative and recursive algorithms. Asymptotic order of growth notations: Big-O, Omega and Theta. Worst case, best case and average case cost analysis. Identify the main objectives of a database management system query optimizerĭevelop a quality realistic end-to-end system architecture for a data science project Given a set of informational requirements, model the logic schema of a relational database

To be aware of the limits of computation: to understand the definitions of the P and NP classes, the concept of Polynomial-Time reduction, the notion of NP-Completeness, and to know some classic NP-complete problemsĭescribe what is a database and a database management systemĮffectively use the standard Structured Query Language (SQL) to query relational databasesĮxplain the relational data model, including its data structures, the relational algebra and integrity constraints To know, understand, explain, analyse and compare some algorithm design techniques: greedy, divide and conquer, and dynamic programming To know, explain, design, analyse, compare and implement the main data structures and algorithms that can be used to represent graphs and solve classic graph problems such as traversals, topological ordering and shortest paths To know, explain, design, analyse, compare and implement the main data structures and algorithms that can be used to implement dictionaries To know, explain, design, analyse, compare and implement the main data structures and algorithms that can be used to implement priority queues To review some simple data structures: stacks, queues, lists, and trees To analyse the cost of iterative and recursive algorithms CE2 - Aplicar los fundamentos de la gestión y procesamiento de datos en un problema de ciencia de datos.

CE1 - Desarrollar algoritmos eficientes basados en el conocimiento y comprensión de la teoría de la complejidad computacional y las principales estructuras de datos dentro del ámbito de ciencia de datos.CG1 - Identificar y aplicar los métodos y procesos de gestión de datos más adecuados para gestionar el ciclo de vida de los datos, incluyendo datos estructurados y no estructurados.CB9 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.Ĭompetencias Técnicas Genéricas Genéricas.CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.CT5 - Conocer una tercera lengua, preferentemente el inglés, con un nivel adecuado oral y escrito y en consonancia con las necesidades que tendrán los titulados y tituladas.CT4 - Gestionar la adquisicion, la estructuracion, el analisis y la visualizacion de datos e informacion en el ambito de la especialidad y valorar de forma critica los resultados de esta gestion.For the former, it is a project-oriented course focusing on dataOps / MLOps, while for the latter it covers basic material on algorithms, data structures and databases in a guided, yet autonomous learning manner that will allow them to develop complex data systems Profesorado ResponsableĬompetencias Competencias Transversales Uso solvente de los recursos de información The methodology is different for both tracks. Even if the objectives of the course are common, this course spans two different tracks: one for students who have a major in Computer Science and another track for the rest. This is a fundamental course that covers basic concepts on algorithms, data structures and databases.
