MSc • Data Analytics • Inteligencia Artificial • automatización IT
MSc in Data Analytics with Artificial Intelligence.
Una ruta de posgrado para estudiantes que quieren convertir datos en decisiones, automatización e impacto operativo — con suficiente IA, IT y cultura de ingeniería para trabajar dentro de sistemas digitales reales, no solo producir reportes aparte.
Es la ruta de analytics para estudiantes que quieren autonomía: entender los datos, las herramientas, los sistemas y el contexto organizacional lo bastante bien como para hacer que el analytics sea útil en producción.
Más allá de los dashboardsAnalytics que puede implementarse, automatizarse y mantenerse.Analytics con cultura de IAMachine learning y modelización sin perder el contexto de decisión.Autonomía ITSQL, cloud, data pipelines, CRM, reporting y bases de software.
01 — Identidad del programa
El analytics no se limita a dashboards. También es implementación.
Este programa está pensado para estudiantes que quieren un perfil de data analytics técnicamente creíble, práctico y conectado con la cadena de IT y automatización.
Posicionamiento DSTI
Del análisis a la acción.
Muchos programas de analytics se quedan en el reporting y la interpretación de negocio. El enfoque de DSTI va más allá: razonamiento estadístico, cultura de IA, bases de datos, data engineering, principios de software, cultura cloud y comprensión de sistemas de información.
Analytics
Hacer que los datos sirvan para decidir
Aprender a estructurar datos, analizarlos, visualizarlos y comunicar evidencia con claridad.
IA
Usar la modelización de forma responsable
El machine learning y las bases estadísticas ayudan a entender lo que los modelos pueden, y no pueden, hacer.
IT
Integrarse en sistemas digitales
SQL, data pipelines, cloud, CRM, herramientas de reporting y principios de software dan más autonomía a los egresados.
Automatización
Ir más allá del análisis manual
El objetivo no es solo producir análisis, sino ayudar a operacionalizar analytics en flujos de trabajo reales.
02 — Para quién es este programa
Para estudiantes que quieren autonomía analítica, no una formación limitada a herramientas.
El MSc in Data Analytics with AI es la ruta MSc más abierta de DSTI, sin dejar de ser seria en matemáticas, IT y progresión técnica.
Buen perfil
Quieres un rol data creíble, conectado con negocio, IT y automatización.
Te gusta la toma de decisiones basada en datos y la implementación práctica.
Quieres entender bases de datos, herramientas de reporting, Python, R, SQL y entornos cloud.
Quieres suficiente machine learning e IA para usar modelos de manera inteligente.
Puedes venir de negocios, management, economía, ingeniería, ciencias u otro perfil cuantitativo.
Menos ideal si
Tu objetivo principal es la investigación avanzada de modelos o la ingeniería de infraestructura.
Si tu principal interés es la modelización avanzada y los sistemas de IA, compara con el MSc in Data Science & AI.
Si tu principal interés son las plataformas data, la arquitectura cloud y los pipelines, compara con el MSc in Data Engineering for AI.
Si tu principal interés es la protección de sistemas y el riesgo, compara con el MSc in Cyber Security.
03 — Estructura del programa
La estructura del programa, en breve.
La estructura combina Warm Up técnico, cursos especializados, sesiones de apoyo y experiencia profesional integrada.
725hVolumen total impartido entre Warm Up, cursos especializados y sesiones de apoyo.
75hDSTI Warm Up para reforzar matemáticas, programación, cultura de IA, bases IT y práctica de sistemas.
40hSesiones de apoyo para repasar, hacer preguntas, retomar conceptos difíciles y preparar exámenes.
30 ECTSExperiencia profesional mediante prácticas, empleo o actividad profesional validada.
Título profesional nacional (RNCP)
El título nacional al que conduce este MSc.
Título vigenteNivel 7 · nivel maestría
Architecte en Intelligence Artificielle
RNCP41993 · registrado ante France Compétences · se aplica a las generaciones actuales y futuras
DSTI no se esconde detrás de títulos vagos. El MSc in Data Analytics with AI se presenta abajo por bloques de enseñanza, horas, ECTS y contenido de cursos.
Warm Up • 75h
Punto de partida técnico
Un puente preparatorio para estudiantes de distintos perfiles académicos antes de entrar al núcleo del MSc.
Volumen total impartido • 725h
Profundidad en analytics, IA e IT
Una estructura transparente, curso por curso, que cubre análisis, modelización, sistemas de datos, visualización y gobernanza.
Experiencia profesional • 30 ECTS
Aplicación en entorno profesional
Una experiencia profesional validada donde los estudiantes aplican el programa en un entorno laboral pertinente.
Warm Up75h • 6 ECTS
Fundamentos antes del núcleo del MSc
El Warm Up ayuda a estudiantes de perfiles diversos a reforzar las bases técnicas necesarias para iniciar el programa con seriedad.
10h
Warm Up: Fundamental Mathematics
Core mathematics needed to approach optimisation, data science and quantitative coursework.
Establishing shared foundations for working with data and code
The Warm Up brought together mathematical reasoning, programming and the practical organisation of a computing environment. Sessions moved between Python and R, operating systems, relational data and spreadsheets, alongside discussion of artificial intelligence and version control. Examples and guided work connected abstract ideas with everyday operations: representing information, running a program, managing files and examining whether a result or a change can be trusted.
What students explored
Reasoning and representation
Logic, functions and limits sat alongside relational tables and spreadsheet values, with attention to what a representation means and preserves.
Code and working environments
Python, R and command-line work connected language features with files, permissions, dependencies and the organisation of a reproducible project.
Checking and collaborating
Version control and discussion of generated code linked collaborative work with the need to understand, inspect and safely manage changes.
Explore the sessions
1. Data Working Environments and System Setup
The session introduced Clean IT as preparation for data work, explaining local, cloud-based and hybrid ways of working with data projects. It compared these approaches in terms of privacy, security, cost, performance, storage, reliability, collaboration, setup and customisation, stressing that the appropriate choice depends on the use case and sensitivity of the data. Students were guided through recommended computer specifications and core Windows setup tasks, including activating an education licence, enabling Linux and virtualisation features, and installing Ubuntu and Windows Terminal. Virtual machines and disk partitioning were explained as ways to run separate operating environments while sharing limited hardware resources. The session also outlined later work with cloud notebooks, local Python tools, virtual environments and code editors.
2. Python Fundamentals and Virtual Environments
The session introduced Python as a high-level, interpreted, dynamically typed and extensible programming language, explaining why it is widely used in data work. Students created and ran a simple ‘Hello World’ Python program using Visual Studio Code and the terminal. The class covered variables as references to objects in memory, including assignment, naming conventions, values, types, type checking and explicit type conversion. It also demonstrated formatted strings for inserting variable values into text. Students were shown how to download course materials, create and activate a virtual environment, install dependencies, use Jupyter notebooks, and begin exercises on variables.
3. Python Conditionals, Errors and Lists
The session reviewed Python as a high-level, interpreted and dynamically typed language, alongside virtual environments, variables, functions and the principle of avoiding repeated code. It introduced conditional execution with if, elif and else statements, as well as try-except blocks for handling errors such as invalid types, division by zero and unavailable files. Students practised writing conditional functions to identify whether values were positive, negative or zero, and to work with quadratic calculations and safe square roots. The class then covered sequences, particularly mutable lists and immutable tuples, including indexing, slicing, negative indexing, modifying lists, object identity, references, copying and nested collections. It concluded by introducing iteration as processing collection members one at a time.
4. Digital Computer Architecture and von Neumann Systems
The session introduced computer architecture by defining a computer as a system that receives inputs, processes them and produces outputs. It compared analogue and digital computers, explaining that digital systems use discrete binary values and support general-purpose computing. The class explored the Turing machine and finite-state machines, emphasising deterministic behaviour: the same input and instruction produce the same output. It then examined the von Neumann architecture, including input/output ports, the control unit, central processing unit (CPU), arithmetic logic unit (ALU), random-access memory (RAM), secondary storage, buses and registers. The session also explained that programs are loaded from storage into memory for processing, and that apparent multitasking relies on rapid context switching between processes.
5. R Programming and Reproducible Analysis
The session introduced R as a language for statistical analysis, data work, dashboards and application programming interfaces (APIs), comparing its use with Python, Spark and Rust. It discussed effective learning in the age of artificial intelligence, emphasising the need to understand, validate and safely manage code produced by language models, including the use of version control and separation of development from production systems. Students were introduced to RStudio and Quarto, and practised creating and running Python and R code chunks. The class compared Python arrays with R vectors, covering object assignment, one-based indexing in R, output functions, vectors, lists and data frames. It also examined coding style, memory pre-allocation, and risks such as overwriting built-in R functions or relying on ambiguous column-name matching.
6. Operating Systems, Processes and File Systems
The session reviewed how operating systems create the appearance of multitasking through pre-emptive scheduling, context switching, process IDs and round-robin allocation of CPU time. It introduced file systems and file paths, comparing Windows drive-letter paths with Linux root-based paths, and demonstrated how Linux can access Windows files through mounted directories. The class examined graphical and command-line methods of launching programs, explaining the roles of the shell, kernel fork function, process hierarchy, executable paths and CPU execution. It also covered CPU bitness, binary representation, and the broad structure used to store decimal numbers in registers, before introducing the relevance of networking to cloud computing.
7. PowerShell File Management and Automation
The session introduced PowerShell as a cross-platform command-line and scripting environment built on .NET, with uses in system administration, automation and cloud services. It compared proprietary and open-source operating systems, and explained Windows file systems, permissions, paths, case sensitivity and the differences from Linux. Practical demonstrations covered navigating directories, listing files, reading, creating, copying, moving, renaming and permanently deleting files, including the importance of backups when modifying configuration files. The class also covered aliases, pipelines, structured object output, filtering and sorting running processes, and redirecting standard and error output to files. The afternoon introduced PowerShell scripts, parameters, variables, control flow, execution policies and validating a supplied path before running a script.
8. Linux Command Line and Permissions
The session introduced Linux as an operating system built around the Linux kernel, explained distributions, and compared its file-system structure with Windows. It covered users, groups, system users, ownership and read, write and execute permissions, including numeric permission modes and the purpose of root and sudo access. Practical command-line work demonstrated navigation, file and directory creation, copying, moving, deletion, symbolic links, text editing, redirection and searching with grep and regular expressions. The class also covered package installation, services, processes and process signals, before beginning an introduction to Bash scripts, parameters, variables and conditional checks.
9. Relational Databases and Data Integrity
The session introduced data management by explaining why tables are a human-readable way to organise information. It showed how text, images, audio and more complex sources such as websites can be converted into numerical table-based representations. Students designed a simple relational database for customers, products and invoices, identifying attributes, primary keys and foreign keys. The class covered functional dependencies and the relational model, using examples to show how poor table design and duplicated data can cause integrity problems. A final activity demonstrated how splitting poorly structured data into related tables reduces duplication and improves reliability.
10. Excel Data Types and Functions
The session introduced Excel as a widely used business tool and outlined the resources, exercises and expected software environment for the course. Students explored Excel data types, including logical, numerical and text values, and learned that formatting changes how data appears rather than its underlying value. Dates and times were explained as numerical serial values, alongside common issues such as automatic conversion, leading zeroes and converting between text and numbers. The class then examined built-in Excel functions, how to use the categorised documentation, and the roles of text, date/time, logical and information functions. Students began practical tutorials on applying simple, top-ten, custom and advanced filters to data.
11. Logic, Sets and Binary Relations
The session introduced core logical notation, including implication, equivalence, negation, quantifiers and proof by contradiction. It covered set theory: subsets, the empty set, cardinality, unions, intersections, complements, disjoint sets, partitions and Cartesian products. Applications between sets were defined through images, injectivity, surjectivity, bijectivity, composition, restrictions and extensions, with examples based on squaring real numbers. The class then studied binary relations and their properties, including reflexivity, symmetry, antisymmetry and transitivity, before defining equivalence relations, equivalence classes, order relations, bounds, suprema and infima. A later discussion clarified injective, surjective and bijective functions and introduced the inverse of a bijection.
12. Sequences, Convergence and Function Limits
The session introduced real sequences as functions from the natural numbers to the real numbers and defined convergence using epsilon and a limiting value. It covered uniqueness of limits, boundedness of convergent sequences, rules for sums, products, quotients and absolute values, and the special care required with divergent sequences and infinite limits. Monotone and adjacent sequences were studied, including convergence of bounded monotone sequences, powers of a positive number, accumulation values, and the Cauchy criterion. The class then began real functions, covering limits, inequalities, monotonicity, continuity, operations on continuous functions, composition, and extension by continuity.
Artificial Intelligence and Language Models
The session introduced artificial intelligence (AI) as a long-standing research problem, covering the Turing test and the history of symbolic, neural and hybrid approaches to AI. It explained that large language models use neural networks to identify and extend patterns in large datasets, rather than necessarily understanding logic, facts or context. The class compared rule-based chatbots with neural networks, discussed limitations including hallucinations, data quality, context and ethical risks, and considered neurosymbolic AI as a possible future direction. It also distinguished supervised, unsupervised and semi-supervised learning through examples of image classification and recommendation systems, and stressed the importance of reliable data and good software engineering practice.
14. Git, GitHub and Collaborative Version Control
The session reviewed personal development environments, including cloud and local notebooks, virtual environments and requirements files for reproducible work. It introduced collaborative software development through GitHub as a platform for code repositories, portfolios, project documentation, licences and activity tracking. Students were shown how to create and organise repositories, edit README files using Markdown, upload files and folders, and publish a requirements file. The class then introduced Git as version-control software, explaining branches, pulls, pushes, commits, merging, conflict resolution and the protection of a stable main branch during team work.
15. R Factors, Strings and Data Import
The session explained how factors in R can impose meaningful category order, retain unused levels and reduce memory use by storing category codes as integers. Students created RStudio projects to manage working directories, loaded comma-separated values (CSV) data, and practised troubleshooting package, script and file-path issues. The class reviewed basic statistical functions and exploratory plots, then focused on readable R coding style through descriptive names, consistent assignment operators, spacing and avoiding semicolons. It introduced string matching and replacement, date handling with year–month–day dates, and the creation, storage and sourcing of functions, including default arguments. The session concluded with an introduction to tidy data, dplyr verbs and pipe operators.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
Data Analytics225h • 30 ECTS
Estadística, machine learning, modelización y usos sectoriales
Este es el núcleo analítico del programa: matemáticas, estadística, machine learning, modelización, interpretación y aplicaciones sectoriales.
25h3 ECTS
Mathematics for Data Science
Calculus, linear algebra and complex numbers required for optimisation and data science.
Following the mathematics behind a model's calculations
Derivatives, vectors and matrices were explored through the calculations they make possible in data analysis. The sessions moved from the slope of a function to changes of basis, regression and principal component analysis. Along the way, the class considered redundant variables, numerical sensitivity and scaling: mathematical details that affect how a calculation behaves and how its result can be interpreted.
What students explored
Local change
Derivatives, partial derivatives and Taylor approximations provided ways to describe a function near a point and connect that description with optimisation.
Directions in data
Linear independence, orthogonality and changes of basis connected vector operations with redundancy, scaling and the interpretation of several variables together.
Matrix structure
Rank, eigenvalues and quadratic forms linked solvability and numerical sensitivity with regression, principal components and the shape of an optimisation problem.
Explore the sessions
1. Calculus and Multivariable Derivatives
The session introduced calculus as a foundation for optimisation, machine learning and statistical modelling. It defined functions, linear and affine functions, and common nonlinear functions including powers, exponentials and logarithms. Derivatives were explained as local slopes, with rules for sums, constants, powers, products, quotients and composite functions, alongside links to neural-network differentiation. The class then extended derivatives to several variables through partial derivatives, higher-order and mixed partial derivatives, and their use in describing slopes in different directions. Taylor series and Taylor polynomials were presented as local approximations, with applications to numerical computation, optimisation methods and interpolation.
2. Vector Algebra and Linear Independence
The session began with a recap of the product rule for derivatives, using a rectangle-area argument and the limit definition to show why the small product of two variations vanishes. It then introduced vectors as one-dimensional arrays, covering vector addition, scalar multiplication, linear combinations, and the importance of matching dimensions in mathematical and programming operations. Linear independence, dependence, collinearity and bases were explained as ways to identify redundant variables and reduce the dimensionality of data. The dot product, orthogonality, vector norms, normalisation and orthonormal bases were developed, with links to correlation, variance, regression and numerical scaling. The class also introduced changes of basis, including their role in principal component analysis (PCA), compression and viewing data from more informative directions.
3. Matrix Inverses, Determinants and Eigenvalues
The session examined matrix inverses, showing that a square matrix is invertible exactly when its columns are linearly independent, equivalently when it has full rank. It introduced matrix rank, numerical sensitivity near singular matrices, and the special simplicity of diagonal matrices, whose inverses and determinants can be computed element by element. Determinants were defined and calculated for two-by-two and three-by-three matrices using minors and cofactors, with discussion of why this recursive method is impractical for large matrices. The class then introduced trace, eigenvalues and eigenvectors for symmetric matrices, deriving the characteristic equation and using orthonormal eigenvectors to diagonalise a matrix through a change of basis.
4. Eigenvectors, Regression and Principal Components
The class examined how eigenvalues and eigenvectors in data analysis can reveal approximate linear relationships and support linear regression, including the effect of scaling variables and interpreting small eigenvalues as residual error. It covered adding an intercept through centring variables or including a column of ones, comparing resulting coefficients with a statistical regression model, and avoiding overfitting by selecting simpler models and validating them. The session also explained how changing to eigenvector coordinates can reveal trends in data that are not visible when plotting individual variables, linking this to principal component analysis. It then introduced positive-definite matrices and quadratic forms through the signs of eigenvalues, with applications to convexity and optimisation. Finally, it introduced complex eigenvalues of non-symmetric matrices, complex-number arithmetic, Cartesian and polar forms, and the use of complex exponentials in trigonometry and Fourier transforms.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Foundations of Statistical Analysis and Machine Learning
Descriptive statistics, probability theory and applications using R.
Foundations of Statistical Analysis and Machine Learning
Course code: CDSAI-002
From describing observations to reasoning under uncertainty
Probability and statistics were developed as foundations for interpreting data and preparing for machine learning. The sessions moved from distributions and descriptive measures to conditional probability, random variables and statistical inference. Examples, simulations and work in R connected mathematical definitions with what can be observed in a sample, including variation, uncertainty and the care needed when drawing conclusions from limited data.
What students explored
Describing a sample
Tables, plots and summary measures made distribution shape, spread and relationships visible, with attention to outliers and the limits of correlation.
Modelling uncertainty
Conditional probability, independence and random variables provided a language for distinguishing observed outcomes from the probability models used to interpret them.
Drawing statistical conclusions
Estimation, confidence intervals and hypothesis tests connected sample evidence with uncertainty, error risks and the assumptions behind a statistical conclusion.
Explore the sessions
1. Descriptive Statistics and Set Notation
The session introduced the course’s focus on probability, statistics and their role as foundations for machine learning, with R and RStudio as supporting tools. It reviewed mathematical notation for sums, products and sets, including unions, intersections and complements. Descriptive statistics were covered through frequency tables, bar charts, histograms, density plots and empirical cumulative distribution functions, with emphasis on interpreting distribution shape. The class defined quantiles, the median, mean, variance, standard deviation, interquartile range, skewness and kurtosis, and used box plots to examine spread and potential outliers. It then introduced multivariate descriptive analysis using contingency tables, scatter plots, covariance and correlation, stressing that correlation does not establish causation.
2. Conditional Probability, Bayes’ Theorem and Independence
The session completed an introduction to probability distributions for finite, countably infinite and continuous sample spaces. It covered conditional probability, Bayes’ theorem and base rates through diagnostic-test, screening, production-defect and transmission examples, as well as the Monty Hall problem. Independence, incompatibility and mutual independence were distinguished using coin-toss and permutation examples. Students then completed practice multiple-choice questions on descriptive statistics, including means, medians, empirical cumulative distribution functions and probability calculations. The session ended by introducing random variables as functions mapping outcomes to real-number values and motivating probability distributions for them.
3. Random Variables, Dependence and Convergence
The session reviewed random variables through uniform, binomial, Poisson and normal distributions, focusing on their parameters, probability mass or density functions, cumulative probabilities, quantiles, means and variances. Simulated samples were compared with theoretical distributions to show how observed data can differ from ideal probability models. The class then introduced multivariate random variables, joint and marginal distributions, conditional distributions, independence, covariance and correlation, including a bivariate normal simulation and covariance matrix. It concluded with an introduction to convergence, random samples that are independent and identically distributed, parameter estimation, and the motivation for the law of large numbers and central limit theorem.
4. Estimation, Confidence Intervals and Hypothesis Testing
The session reviewed descriptive statistics, probability theory, random variables, probability distributions, convergence, the law of large numbers and the central limit theorem. It introduced estimators and estimations, including bias, variance, mean squared error and the use of large samples to improve estimates. Confidence intervals were explained as ranges around an estimate associated with a chosen risk level, and a practical activity used one-sample t-tests in R to calculate 95% and 99% confidence intervals for mean height. Statistical hypothesis testing was then introduced through null and alternative hypotheses, rejection regions, p-values, significance levels, and Type I and Type II errors, with examples involving coin tosses and comparisons of group means. The session concluded by outlining common tests for one mean, two means and independence, in preparation for further study.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Big Data Processing with R
Importing, manipulating, transforming, visualising, exploring and modelling large datasets in R.
Making data transformations and visual comparisons explicit in R
The sessions developed an R workflow from basic structures and functions to grouped transformations and visual comparisons. Data frames, missing values and custom functions provided the groundwork before plotting and package creation. Flight records then supplied a concrete dataset for filtering, deriving variables and comparing groups. The thread was the sequence of operations that turns input records into an inspectable result, rather than a claim about distributed computation.
What students explored
Working with structures
Vectors, matrices, lists and data frames introduced the representations used to select, change and summarise values in R.
Building reusable analysis
Functions, arguments and a small package connected repeated tasks with documented code that can be loaded and used again.
Comparing groups
Plots and dplyr transformations linked filtering and calculated variables with summaries by category, retaining attention to missing values.
Explore the sessions
1. R Fundamentals and Data Structures
The session introduced R as free, cross-platform software and explained its role alongside Python in professional data science workflows. Students were shown how to install and use R with RStudio, including arranging the interface panels for code, console output, plots and files. The class covered calculations, vectorised operations, built-in functions, variable assignment, and the creation of vectors using concatenation, sequences and repetition. It then introduced matrices, data frames and lists, including their structures, data types and methods for accessing and modifying values. Practical exercises used indexing, missing values and conditional selection to extract and update data, including calculating summaries for selected groups in a data frame.
2. Functions, Control Flow and Base Graphics
The session reviewed how to replace missing values in data-frame variables with their non-missing mean values in R. It introduced function calls, argument ordering and naming, return values, for and while loops, conditional statements, and the use of switch. Students practised writing custom functions, including a general function to impute missing values, and considered scope, function masking, package-qualified calls, and passing additional arguments with .... The class then covered base R graphics, including plot types, axis limits, adding lines, points, titles, labels, legends, text, reference lines and shaded regions. It also introduced histograms, the importance of choosing an appropriate number of bins, and comparing a histogram with an estimated density curve.
3. Multivariate Visualisation with ggplot2
The session reviewed histograms, density estimates and box plots, including how to write functions that combine these displays and pass optional arguments to sub-functions. It covered visualising multivariate data with box plots, scatter plots, pairs plots, categorical summaries and legends, using the iris data set as an example. The class introduced ggplot2, including installation and loading of packages, and created histograms, density curves, box plots, bar charts, pie charts, scatter plots and fitted regression lines using vehicle data. It also explored grouping, colouring and faceting plots by categorical variables to assess relationships within subgroups. Finally, it demonstrated how to create an R package containing functions and data, write documentation, build it, install it locally and load it for use.
4. Data Manipulation with dplyr
The class introduced the dplyr package for manipulating large datasets in R, using New York City flight data as an example. Students practised filtering rows with conditions, compared dplyr filtering with base R, and considered the different treatment of missing values. They also used arrange to sort records, select to retain relevant variables, and mutate to create calculated variables such as delay changes and distances in kilometres. The session covered summarise and group_by for calculating and comparing delay statistics by airport, month and airline, with visualisations produced using ggplot. Finally, the pipe operator was introduced for chaining data-processing steps without storing unnecessary intermediate datasets.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h4 ECTS
Python Machine Learning Labs
Data preparation, feature engineering and machine-learning modelling with Python libraries.
Looking at the data before choosing a predictive model
The supplied sessions concentrated on the work that precedes model fitting: understanding the question, inspecting imperfect records and deciding how to represent them. Python and pandas exercises used passenger data to examine missing values, class imbalance and feature construction. A separate book-rating project was introduced as a brief; the evidence here follows the preparation and exploratory work, rather than claiming completed project results.
What students explored
Framing the question
The project brief connected a prediction task with imperfect input data, comparison between models and the need to explain the resulting work.
Inspecting records
Summary statistics, plots and missing-value checks supported discussion of outliers, class imbalance and which information belongs in the prediction task.
Constructing features
Text extraction, grouped imputation and categorical encoding showed how representations are built before evaluating a model on unseen examples.
Explore the sessions
1. Machine Learning Workflow and Project Brief
The session introduced the structure of the machine learning course, including its focus on exploratory data analysis, feature engineering and modelling within a complete machine learning pipeline. A group project was outlined in which students were asked to use book metadata to predict Goodreads ratings, clean and analyse imperfect data, compare at least two models, and deliver code, a simple application, a report, a video demonstration and a GitHub repository. The class emphasised that machine learning begins with a clearly defined problem, suitable data and an understanding of how a human would approach the task. It also reviewed Python foundations needed for machine learning, including built-in data structures, mutability and immutability, indexing, conditions, loops and functions.
2. Pandas Inspection, Data Quality and Class Imbalance
The session reviewed pandas data frames, including their tabular structure, indexing, comma-separated values (CSV) import, and the use of head(), tail() and describe() for inspection. It introduced the Titanic data set as a continuing case study and defined the machine-learning task as predicting passenger survival from available passenger information. The class examined data quality issues such as missing ages, identified the target column and ground truth, and discussed class imbalance and its effect on model bias. It also interpreted summary statistics, distributions, standard deviation and outliers, considering when unusual cases should be retained, removed or contextualised through additional features.
3. Feature Extraction and Plotly Visualisation
The session reviewed exploratory data analysis and feature engineering using the Titanic data set, including handling missing values, removing unhelpful columns and considering bias when retaining scarce passenger profiles. It demonstrated how to extract structured titles from unstructured name text using string splitting, indexing, slicing, functions and DataFrame apply operations, then create and analyse a new title feature. The class examined how uneven category frequencies can limit the usefulness of a feature for machine-learning models. It also introduced data visualisation with Plotly, using wine-quality data to inspect distributions, relationships and outliers, housing data to map prices geographically, and stock and country data to show changes over time.
4. Titanic Imputation and Categorical Encoding
The session completed exploratory analysis and feature engineering for a Titanic survival prediction task. It examined missing data, gender, passenger class, age distributions, fares and outliers, using bar charts, pie charts, histograms, distribution plots and box plots to identify relationships with survival. The class discussed removing unhelpful columns, imputing missing ages using grouped averages, and preparing data so that it is numerical and suitable for machine learning. It introduced ordinal/label encoding and one-hot/vector encoding, including their trade-offs, the k−1 rule, and the encoding of binary and passenger-class variables. The session then introduced the distinction between training and testing data, explaining how models learn from labelled examples and are evaluated on unseen examples.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h4 ECTS
Semantic Web Technologies
RDF, SPARQL and web standards for representing, querying and using knowledge on the web.
How can data from different sources be connected, queried and given a shared meaning? These sessions moved from the foundations of the Web to knowledge graphs, query languages and ontologies. Practical work linked the standards to concrete tasks: describing resources, querying public datasets, modelling a museum collection and predicting what a reasoning system could infer. Modelling choices were examined alongside their social and ethical consequences.
What students explored
Connected data and practical queries
Representing information as linked statements, writing graph queries and working with public datasets, while checking that data is well formed and meaningful.
Models, meaning and inference
Defining classes and relationships, examining what follows logically from them, and recognising how assumptions and ambiguity shape a knowledge model.
Standards in use
Reusing vocabularies, connecting existing data formats and assessing data quality, alongside privacy, accessibility, bias and the need to check generated material.
Explore the sessions
1. From the Web to linked data
The Web was distinguished from the Internet as a distributed hypermedia application, built around Uniform Resource Locators (URLs), the Hypertext Transfer Protocol (HTTP) and Hypertext Markup Language (HTML). The session traced a path through structured documents using Extensible Markup Language (XML) to linked data and Resource Description Framework (RDF) graphs. Knowledge graphs connected named entities and relationships across datasets, supporting search, recommendation, integration, validation and reasoning. Retrieval-augmented generation was another application considered. The discussion also examined data collection, tracking, algorithmic influence and biased datasets, bringing privacy, accessibility and ethics into the technical picture.
2. Building and checking RDF graphs
RDF statements were studied as triples forming directed, labelled graphs. Uniform Resource Identifiers (URIs), literals and blank nodes supplied the building blocks for linking data across datasets. Students practised graph completion and learnt N-Triples, Turtle and RDF/XML syntax, including prefixes, namespaces, typed values and language tags. Activities included validating, converting and visualising data, creating a personal RDF profile and examining an external library dataset. The practical guidance was to test incrementally and check generated RDF rather than copying the output of artificial intelligence without verification.
3. Asking questions with graph patterns
SPARQL, the query language for RDF, introduced a way to ask questions by matching patterns in a graph. Students constructed patterns with triples, variables, prefixes and filters, then practised SELECT queries, distinct results, ordering and pagination. Remote endpoints such as DBpedia and Wikidata provided datasets to query. Further exercises used optional patterns, alternatives, exclusions and supplied values, alongside type and language tests, casting and string functions. Translating natural-language requests into queries connected the syntax to a precise account of which graph matches should be returned.
4. Defining vocabularies and drawing inferences
Ontologies were introduced as shared, formal vocabularies that give data meaning and support logical inference. Classes, properties and their definitions were distinguished from taxonomies, thesauri and validation schemas such as Shapes Constraint Language (SHACL). A museum modelling exercise exposed ambiguity, user needs, domain expertise and cultural assumptions. RDF Schema (RDFS) then provided classes, subclass and subproperty hierarchies, domains and ranges. Examples showed how these declarations allow additional types and relationships to be inferred, making the consequences of a model’s definitions visible in the graph.
5. Richer ontologies and open-world reasoning
An RDFS lab showed how loading a schema and enabling reasoning changes the available triples and query results. The Web Ontology Language (OWL) introduced richer class definitions and property relationships, including intersections, disjointness, equivalence, restrictions, inverse relations and property chains. Students interpreted axioms and predicted inferred facts from small graphs, using biological and organisational examples. Restrictions on values and cardinalities extended the modelling possibilities. Open-world reasoning and the absence of a unique-name assumption were central cautions: incomplete information and different names cannot simply be treated as proof of absence or difference.
6. Connecting formats and reusing existing vocabularies
Media Fragments and a media-resources ontology introduced descriptions of image regions, audiovisual segments and tracks. Students considered how to assess existing vocabularies through their definitions, scope, reuse and expressivity, and how validation supports data quality. The session surveyed mappings from relational databases, HTML, JavaScript Object Notation (JSON) and comma-separated values (CSV) into RDF. JSON for Linking Data (JSON-LD) contexts and other mapping standards connected familiar formats to graphs. Practical work included extracting embedded triples, interpreting mappings and converting profiles to JSON-LD. The Linked Data Platform introduced managing RDF resources and containers through HTTP operations.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Time-Series Analysis
Temporal data analysis with mathematical foundations and applications in R for forecasting.
Choosing a forecast by examining what time leaves behind
Forecasting began with looking carefully at a series: its trend, recurring patterns and dependence between observations. The sessions then connected transformations, smoothing and model fitting with residual checks and time-aware evaluation. Work in R moved across passenger counts, precipitation, retail data and electricity demand, showing how the forecasting question shapes both the model and the way its predictions should be tested.
What students explored
Reading the series
Plots, aggregation and autocorrelation helped distinguish trends and seasonality before deciding which transformations or model terms to consider.
Building and checking models
Smoothing, differencing and seasonal autoregressive models were examined alongside residual independence, changing variance and comparisons between candidate fits.
Evaluating a forecast
Rolling validation and the required forecast horizon framed comparisons, including models that use explanatory variables as well as past observations.
Explore the sessions
1. Time-Series Patterns, Visualisation and Autocorrelation
The session introduced time series as regularly spaced observations indexed by time, with the aim of forecasting future values. It used plotted examples to distinguish seasonal patterns with fixed frequency, cycles with variable frequency, trends, changing seasonal amplitude, and the role of external information in forecasting. Students were shown how to create and plot time-series objects in R, including specifying frequency and start dates, producing seasonal plots, and treating missing values through interpolation. The class covered descriptive statistics, autocorrelation and partial autocorrelation plots, how these can indicate trends or seasonality, and tests for whether autocorrelation is present. Students practised loading a dataset, constructing a time series, identifying its patterns, and aggregating monthly observations into annual totals.
2. Exponential Smoothing, Decomposition and Cross-Validation
The session reviewed exponential smoothing for forecasting time series with trend and seasonality, and time-series cross-validation for comparing forecasting methods using rolling training periods. It introduced additive decomposition into trend, seasonal pattern and residual noise, noting that multiplicative series can be made additive through a logarithmic transformation. Moving averages and the decomposition function were used to estimate and remove trend and seasonality for exploratory analysis, while their limitations for extrapolating trends were explained. Differencing operators were introduced to remove polynomial trends and seasonal patterns, with seasonal differencing followed by first differencing used to obtain approximately stationary series. Students assessed residual autocorrelation using autocorrelation plots and Box tests, then practised this on air-passenger and Google stock-price data.
3. SARIMA Modelling and Forecast Diagnostics
The session introduced backshift notation and used it to express autoregressive integrated moving average (ARIMA) models, including how ordinary differencing converts a non-stationary series into one that can be modelled with autoregressive and moving-average terms. Seasonal ARIMA (SARIMA) models were explained as combining regular and seasonal dependence, seasonal differencing, and lagged relationships at multiples of the seasonal period. Students practised identifying candidate SARIMA orders from autocorrelation and partial autocorrelation plots, fitting models, checking residual independence, comparing models using the Akaike information criterion (AIC), and producing forecasts for retail-index and San Francisco precipitation data. The class also covered heteroscedasticity and the Box–Cox transformation, including estimating the transformation using training data and applying the resulting model to forecasts on the original scale. A final exercise asked students to select a SARIMA model for airline-passenger data using Box–Cox transformation, differencing, autocorrelation diagnostics, and train-test evaluation.
4. Dynamic Regression and Time-Series Clustering
The session reviewed forecasting methods for univariate time series, including exponential smoothing, ARIMA models and machine-learning approaches using lagged observations. It stressed that methods should be compared through time-series cross-validation rather than a single training and test split, with the test horizon matching the required forecasting horizon. The class introduced multivariate time series forecasting using known future covariates, fitting time-series linear models with trend and seasonal effects and then modelling correlated residuals with ARIMA to form dynamic regression models. An electricity-demand example used temperature, squared temperature and working-day status, showing how nonlinear covariate effects and seasonal information can improve forecasts. Students practised splitting the data, fitting models, diagnosing residual autocorrelation, and comparing dynamic regression, neural-network and random-forest forecasts.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h4 ECTS
Agent-Based Modelling
Complex problem modelling using ABM, with comparison to statistical, Markov and system dynamics approaches.
Examining what individual interactions change in a model
Agent-based modelling was approached through the purpose and assumptions of a model, not only the software used to run it. The sessions compared population averages with heterogeneous individuals, then considered rules, interactions and update order. Examples from health and decision-making connected model design with uncertainty, calibration and validation, while NetLogo provided an initial setting for exploring an existing model and its documentation.
What students explored
Choosing a representation
Statistical, population-level and agent-based approaches were compared in terms of heterogeneity, feedback and the question the model should address.
Describing the rules
States, interactions, timing and documentation made modelling choices explicit, including decisions that can change the resulting behaviour.
Examining uncertainty
Calibration, verification, validation and sensitivity analysis distinguished matching observations from testing a model and understanding its limitations.
Explore the sessions
1. Modelling Paradigms, Prediction and Markov Chains
The session introduced modelling as a purposeful simplification of reality used to understand relationships and make predictions. It compared statistical models, Markov models, system dynamics, microsimulations and agent-based models, emphasising heterogeneity, interactions between agents, feedback loops and unintended consequences. Predictive modelling was discussed through regression, uncertainty, extrapolation beyond observed data, parameter estimation and Monte Carlo simulation. Markov models were introduced through state transitions, transition matrices, steady states and the distinction between discrete and continuous time. Students were also introduced to NetLogo, opened a segregation model from its library, and explored the software’s interface, documentation, code tabs and support resources.
2. Agent Heterogeneity, Networks and Jensen’s Inequality
The session compared population-averaged system dynamics models with agent-based models, using alcohol use and disease transmission to show how individual histories, heterogeneity and network structure can affect outcomes. It explained Jensen’s inequality and why averaging individual characteristics before modelling non-linear processes can give different results from modelling individuals first and then averaging. Agents were defined through states, transitions, behavioural rules, interactions, networks and environmental resources, with discussion of deterministic and stochastic rules and multiple linked state diagrams. The class introduced decision modelling for selecting between actions under uncertainty, including predictive and prescriptive analysis, decision trees, expected values, utilities, Monte Carlo simulation and Bayesian use of broad and local data. Examples considered clinical treatment choices and emergency responses to wildfire risk, emphasising problem formulation, stakeholder criteria, uncertainty and the costs of possible outcomes.
3. ODD Protocol and Agent-Based Model Design
The class introduced the ODD protocol for documenting agent-based models: Overview, Design Concepts and Details. It examined how to define a model’s purpose, entities, variables, rules, population, boundaries, and temporal and spatial scales. The session compared discrete and continuous time, and explained why update order, synchronisation and sequential processing can affect model outcomes. Design concepts including emergence, agent objectives, adaptation, learning, prediction, sensing, interaction and stochasticity were illustrated through predator–prey and disease-spread models. Students also considered how randomness can produce small or large epidemics and why models should include only the complexity needed for their purpose.
4. Agent-Based Model Verification, Calibration and Validation
The session examined verification, calibration and validation of agent-based models, distinguishing internal testing, fitting models to observed data, and testing predictions or comparisons with other models. It covered calibration strategies for uncertain numerical and categorical parameters, steady states and transitions, time-series fitting, uncertainty bands, and the importance of choosing criteria that match a model’s purpose. Sensitivity, uncertainty and robustness were differentiated, with experimental designs, Monte Carlo simulation, regression and decision trees introduced as ways to assess parameter effects and interactions. The class also considered sources of uncertainty, including parameter estimates, model structure, output interpretation and unpredictable future events. Finally, it used simple epidemic models to explain the susceptible–infectious–recovered (SIR) framework, reproduction numbers, herd immunity and the value and limitations of theoretical models.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Inferential Modelling
Tests, confidence intervals, models, assumptions, linear models and regression.
Choosing a model that fits the question and response
The sessions connected statistical inference with practical model choices in R. Linear regression led into classification and generalised linear models, with attention to assumptions, diagnostics and the meaning of a prediction. Examples used mortality, diabetes, insurance and wage data to examine different response types. The thread was not simply fitting another model, but deciding what its coefficients, uncertainty and errors can reasonably support.
What students explored
Reading the evidence
Descriptive statistics, probability and diagnostic plots connected observed data with the assumptions needed for inference and model interpretation.
Interpreting classification
Logistic regression linked odds and predicted probabilities with threshold choices, confusion matrices and the consequences of different classification errors.
Matching the response
Count and positive-valued response examples introduced distribution and link-function choices, alongside exposure, confounding and model comparison.
Explore the sessions
1. Descriptive Statistics, Probability and Random Variables
The session introduced the course structure, progressing from linear and logistic regression to generalised linear models, model comparison and potentially non-linear models, with an emphasis on practical work in R. It recapped descriptive statistics, including mean, median, variance, standard deviation, quartiles, interquartile range, skewness, kurtosis, box plots, covariance and correlation. It reviewed probability spaces, conditional probability, Bayes’ theorem, independence, random variables, cumulative distribution functions, probability mass and density functions, expected value, variance, standard deviation and common distributions. The class also covered independent and identically distributed random samples, the law of large numbers and the central limit theorem as bridges between probability theory and statistical inference. Students then revised RStudio basics, including scripts, variables, vectors, data frames, filtering, missing values, summaries, plots, packages and initial exploration of the penguins data set.
2. Multiple Linear Regression and Diagnostics
The session introduced simple and multiple linear regression, defining predictors, responses, intercepts, slopes, residuals and random error. It explained least-squares estimation, assumptions about independent, constant-variance and normally distributed errors, and residual diagnostic plots including residual histograms, quantile–quantile plots and fitted-value-versus-residual plots. Model interpretation covered coefficient tests, p-values, the F-test, residual standard error and R-squared, including its relationship to correlation and variance explained. The class also discussed confounding, correlated features, outliers and non-linearity, and began practical work comparing regression models using a four-dataset example and a COVID mortality dataset.
3. Logistic Regression and Generalised Linear Models
The session reviewed multiple-choice questions on R-squared, Pearson correlation, statistics as functions of samples, least-squares residuals, confidence intervals, and Type I and Type II errors. Logistic regression was recapped as a generalised linear model for classification, using log odds, odds ratios, likelihood, deviance and model coefficients. Students worked with a diabetes dataset to explore missing values, correlations, hypothesis tests, categorical variables and several logistic-regression models. The class compared model variables and performance, interpreted predicted probabilities and odds ratios, and constructed confusion matrices using a chosen classification threshold. Accuracy, precision, recall and F1 score were discussed, including the trade-off between false positives and false negatives when changing the threshold.
4. Poisson and Gamma Regression Models
The session recapped generalised linear models, focusing on response distributions, link functions, residuals and model diagnostics. A car-insurance exercise used Poisson regression to model claim counts from district, vehicle group and age, including the use of an offset to model claim rates per policyholder. The class considered overdispersion, interpretation of coefficients and rate ratios, and the role of possible confounding factors. A further exercise introduced comparison of Gaussian and Gamma generalised linear models with a log link for modelling wages using education, age, sex and language.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Data Analytics Domain Applications
Practical analytics applications across sectors such as marketing, finance, industry and risk management.
Marketing, finance, maintenance and environmental risk gave the class different settings in which to interpret data. The account moves from customer targeting and credit analysis to equipment availability and environmental consequences. Models and metrics were discussed alongside organisational choices, incomplete information and costs, showing why an analytical result needs to be understood within the activity it is intended to support.
What students explored
Customers and financial decisions
Customer behaviour, predictive models and financial indicators examined alongside the organisational foundations needed to turn analysis into a useful business process.
Keeping assets operational
Maintenance strategies, reliability measures and failure analysis connected to availability, safety, costs and the information required to manage assets over time.
Understanding environmental risk
Hazards, likelihood, consequences and mitigation examined across interconnected environmental and social settings, including unequal exposure and the cost of inaction.
Explore the sessions
1. Connecting customer information to marketing decisions
Customer targeting introduced decisions about products, prices, channels and promotion. Market research and statistical methods were considered alongside predictive models, including trees, logistic models and neural networks. Demonstrations used visual analysis, dashboards and models of organic-product purchasing. Age, purchasing frequency, recency and spending illustrated possible customer information. The session also considered production constraints such as performance, traceability, security and compliance, keeping the comparison of models connected to the setting in which their predictions might be used.
2. Interpreting financial data within a wider strategy
Data strategy, architecture, governance and staffing framed the financial-analysis work. The class discussed targeted applications and the limits of broad claims about generative artificial intelligence. Activities compared companies through profitability, liquidity, solvency and cash-flow indicators across several industries. Segmentation and dashboards supported credit and portfolio discussions. Non-linear models, feature importance and scenarios then introduced default-risk analysis with incomplete financial and economic information, including initial feature selection rather than an asserted finished underwriting system or validated lending outcome.
3. Comparing maintenance choices across asset lifecycles
Maintenance was examined through availability, reliability, safety and cost across industrial equipment, buildings, transport and software. Historical and systems-engineering approaches introduced lifecycle support and continuous improvement. The class distinguished operational maintenance from security maintenance and compared preventive and corrective approaches. Systematic, condition-based and predictive work sat alongside temporary and permanent repairs. Inspections, documentation and evaluation were considered with the risk of over-maintenance, making the discussion about choosing an appropriate intervention rather than assuming more maintenance is always better.
4. Measuring reliability and investigating failure causes
Mean time between failures and mean time to repair introduced calculations of reliability and availability. The class considered how equipment behaviour changes across its lifecycle. Five Whys, Pareto analysis and the Maxer method provided approaches to causes and priorities. Computerised maintenance management systems brought together assets, work orders, spares and history. Their integration with enterprise resource planning connected maintenance records with financial and production information, extending the session beyond isolated calculations to the systems that support operational decisions.
5. Relating environmental hazards to consequences and action
Environmental risk was examined through hazards, likelihood, consequences, mitigation and monitoring. Natural processes, climate, pollution, biodiversity and human activity were considered as interconnected rather than separate categories. Videos and discussion introduced impact assessment, risk matrices, waste and wastewater. Unequal exposure and the costs of poor air quality and climate effects broadened the analysis beyond technical measures alone. Citizen science concerning invasive species provided another example of gathering information, while the session retained attention to both local and wider consequences.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
Data Engineering210h • 28 ECTS
Los sistemas y pipelines detrás del analytics
Un data analyst con autonomía IT debe entender bases de datos, data warehouses, pipelines, cloud y principios de software.
25h3 ECTS
Data Wrangling with SQL
Relational databases, advanced SQL queries, stored procedures, triggers, dynamic SQL and Microsoft SQL Server.
Turning a business question into a precise database query
The sessions connected relational structure with the questions people ask of business data. Students restored databases, inspected tables and wrote Structured Query Language (SQL) queries before examining joins, missing records and normalisation. Small wording differences mattered: finding a matching product, an order without an invoice or a customer who bought every product required different reasoning about relationships and the records a query would return.
What the sessions explored
Inspecting unfamiliar data
Keys, schemas, row counts and collation provided starting points for understanding a database before drawing conclusions from its contents.
Expressing relationships
Self-joins, filters and missing-record queries connected business questions with explicit comparisons between rows and relationships between tables.
Checking structure
Normal forms and functional dependencies exposed possible inconsistency, while aggregation and division queries tested more demanding conditions across related records.
Explore the sessions
1. Connecting relational models with database systems
The session introduced relational databases, explaining how tabular data is organised into rows and columns and how tables are linked through primary and foreign keys. It contrasted relational and non-relational data models, using document and key-value structures to show why highly variable data may create sparse tables. The class explained client-server database architecture, including database servers, clients, web interfaces, back-end code, SQL queries, connection details and access permissions. It also compared proprietary and open-source database systems, and outlined the course case-study approach and SQL-based assessment.
2. Inspecting schemas and writing selection queries
The session covered restoring a SQL Server database from a backup file, including verifying the backup and using the database interface to inspect tables. It reviewed relational tables, primary and foreign keys, schemas, and the use of schemas for functional organisation and access permissions. Students wrote basic SQL queries using SELECT, FROM, USE and COUNT, and discussed why row counts should be checked before using SELECT * on an unfamiliar or very large table. The class also examined database collation, including case and accent sensitivity, and explored customer data to identify data-quality inconsistencies and infer how customer and billing identifiers were structured.
3. Comparing products and finding missing invoices
Self-joins compared product prices, including a query for non-USB products priced at least as highly as a USB product. Text filters, wildcard placement and case conversion affected which rows matched; DISTINCT addressed repeated results from multiple comparisons. An entity–relationship diagram then connected customers, orders and invoices through their keys. The class explored orders without invoices using an outer join with missing-value filtering and alternative subqueries. These examples led into invoice structure: identifiers, dates, line items, quantities, prices and totals. The queries were examined in their data context, without asserting that every alternative behaves identically for all missing values.
4. Examining dependencies and normalising database structures
The session reviewed database normalisation, covering first, second, third and Boyce-Codd normal forms, functional dependencies, atomic values, composite keys and the risks of duplicated or dependent non-key data. Examples from a sample database were used to identify non-atomic JavaScript Object Notation (JSON)-style fields and third-normal-form breaches that could create inconsistent customer and invoice information. The class then restored and explored a second SQL Server database, checked table keys and case-sensitive collation, and used the graphical interface to add and edit a city column. Finally, it practised GROUP BY, COUNT and HAVING, then developed two approaches for finding customers who had bought every product, including a division query using nested NOT EXISTS conditions.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Data Warehousing & ETL
Design and implementation of data warehouses and ETL processes in stand-alone and cluster deployments.
Keeping the meaning of data through warehouse transformations
Data warehousing was approached from reporting requirements through to the transformations needed to support them. The sessions connected staging and operational stores with dimensional models, rejected rows and historical changes. Practical flows in SQL Server Integration Services made those choices visible: converting a value, enriching a record or assigning a key each affects what the resulting warehouse can reliably say.
What students explored
Layering the flow
Staging areas, operational stores and warehouse models separated incoming records from the structures intended for analysis and reporting.
Checking transformations
Conversions, lookups and rejected-row handling exposed problems that need examination rather than disappearing inside an apparently successful load.
Representing history
Facts, dimensions and surrogate keys connected reporting structure with choices about retaining changes to employee and customer attributes.
Explore the sessions
1. Data Warehousing, ETL and BI Architecture
The session introduced the purpose of data warehousing and extract, transform and load (ETL) within business intelligence, focusing on collecting, integrating, modelling and delivering data for decision-making. It explained ETL and extract, load and transform (ELT) processes, data sources such as files, databases and enterprise resource planning systems, and the importance of working from stakeholder requirements and intended reporting outcomes. The class covered staging, operational data storage and data warehouse layers, including bronze, silver and gold data, data marts, and central versus departmental warehouse architectures. It distinguished transactional online transaction processing (OLTP) databases from analytical online analytical processing (OLAP) databases, and stressed trusted, consistent key performance indicators (KPIs) and reusable data models. Students installed and configured Visual Studio, SQL Server Integration Services (SSIS) and SQL Server databases, then explored the SSIS project interface and its control-flow and data-flow tasks.
2. Staging Loads and Operational Data Store Design
The session reviewed the role of a staging area in an ETL pipeline and demonstrated loading a sales comma-separated values (CSV) file into a staging database using SSIS flat-file sources, OLE DB destinations and table truncation. It then considered how to design an operational data store to analyse sales by employee, customer and geography, including incorporating geographical information into employee and customer data. A practical SSIS flow was built for employee data, using derived columns to create email addresses and clean salary values, data conversions for salary and birth dates, and a lookup to enrich records with country and continent data. The class also covered column sizing, destination mappings, data viewers for checking transformations, and identifying invalid date values with SQL TRY_CONVERT.
3. ODS Sales Cleansing and Dimensional Modelling
The session developed an operational data store (ODS) sales ETL flow by selecting sales fields, cleaning decimal separators, converting monetary and date values, resizing text columns, and loading the resulting data into an ODS sales table. Technical error handling was configured to redirect rejected rows, record metadata about conversion failures, combine reject streams, and review the resulting errors. The class then introduced data warehouse modelling, distinguishing fact tables containing analysable events and measures from dimension tables containing descriptive attributes. It compared star, snowflake and constellation schemas, and explained primary and foreign keys alongside natural and surrogate keys. Finally, it covered slowly changing dimensions, including types 0, 1, 2 and 3, and how each approach handles changes and historical dimension data.
4. Slowly Changing Dimensions and Fact Loading
The session covered the implementation of Slowly Changing Dimensions (SCD) types 2 and 3 in SSIS for employee data. SCD type 2 was explained as retaining historical versions through separate rows, start dates and end dates, while type 3 stores a previous value in an additional column. A customer dimension was then configured using the SSIS Slowly Changing Dimension wizard, including fixed, changing and historical attributes and the use of business keys. The class also began building a sales fact-table ETL flow, looking up surrogate keys for customer, employee and date dimensions, handling missing references with an unknown key value of -1, and logging functional rejects. Data-type alignment between source dates and the date dimension was addressed before mapping the final fact-sales fields.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h4 ECTS
Graph Databases — NoSQL Part 1
Graph-based problem modelling and practical implementation in Neo4j graph databases.
Making relationships the starting point of a database query
Graph-database work began with nodes, relationships and the questions their connections can answer. The sessions used Neo4j and Cypher to move from matching a pattern to importing data, applying constraints and inspecting query plans. Aggregations and temporal values extended the queries, while a continuing graph exercise and discussion of deployment options connected the data model with its practical use.
What students explored
Modelling connections
Labels, properties and directed relationships connected graph concepts with queryable data, using a movie dataset for practical examples.
Loading and querying
Imports, uniqueness constraints and traversal patterns were examined alongside optional matches, duplicate removal and the inspection of execution plans.
Working with results
Aggregations, projections, lists and temporal calculations supplied ways to turn matched relationships into useful structured output.
Explore the sessions
1. Neo4j Graph Fundamentals and Cypher Queries
The session introduced Neo4j as a native, schema-optional graph database and compared its relationship-focused storage with relational databases. It covered graph theory fundamentals, including nodes, relationships, directed and weighted graphs, labels, properties and shortest-path traversal. Students explored common graph-database applications such as fraud detection, recommendation systems and network analysis. The class introduced Cypher syntax for matching, filtering and returning nodes and relationships, using a movie graph dataset for practical queries. Students also practised creating nodes and relationships with MERGE, updating or removing properties, and using conditional creation and matching behaviour.
2. CSV Import and Advanced Cypher Querying
The session demonstrated how to import comma-separated values (CSV) data into Neo4j, create uniqueness constraints, load person, location and visit nodes, and create relationships between them. It then introduced intermediate Cypher querying, including case-insensitive string filtering, checking query plans with EXPLAIN and PROFILE, and writing efficient graph traversal patterns. Further activities covered OPTIONAL MATCH, ordering, filtering null values, limiting and paginating results, and removing duplicates with DISTINCT. The class also practised map projections and CASE expressions to customise returned JSON-style objects and categorise movie runtimes.
3. Cloud Neo4j, Aggregations and Temporal Cypher
The session introduced cloud computing models, service types and deployment approaches, including the benefits and limitations of public, private, hybrid and multi-cloud environments. It compared using Neo4j through Amazon Web Services (AWS), Google Cloud and Azure marketplaces, including single instances, clustered deployments, containers and relevant certification routes. The class then practised intermediate Cypher queries using aggregation functions such as COUNT, COLLECT, SUM, AVG, MIN and MAX, alongside DISTINCT, UNWIND, list indexing and list slicing. It also covered date, time and duration values in Cypher, including calculating intervals and converting timestamps for comparisons. Students continued the COVID graph mini-project exercises.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
10h4 ECTS
Document Databases — NoSQL Part 2
MongoDB collections, documents, advanced queries, aggregations and data architecture.
Reshaping documents into an answer with an aggregation pipeline
MongoDB sessions connected document structure with the operations needed to inspect and report on it. After comparing database models, students worked with collections, nested values and queries before following documents through ordered aggregation stages. Restaurant data supplied a recurring example, and index discussion connected the logical query with how the database finds its records and selects an access path.
What students explored
Document operations
Collections, embedded fields and arrays provided the setting for creating, reading, updating and deleting records through MongoDB tools and Python.
Aggregation stages
Filtering, grouping, reshaping and joining documents showed how a report can be constructed through a sequence of transformations.
Finding records
Collection scans and index scans framed the discussion of index types and the practical task of querying restaurant data.
Explore the sessions
1. NoSQL Concepts and MongoDB CRUD
The session introduced NoSQL databases, explaining how document, graph, wide-column and key-value databases differ from relational databases and suit different use cases. It compared SQL and NoSQL in terms of schema flexibility, scalability, transaction guarantees, querying, performance, security and vendor lock-in. MongoDB was presented as a document-oriented database using Binary JSON (BSON), with databases, collections, documents, fields, embedded documents, arrays and object IDs. Students installed MongoDB and Compass, created databases and collections, inserted, deleted and updated documents, and imported a restaurant dataset. The class then explored filtering, projections, sorting, pagination, logical operators, comparisons, field existence, regular expressions and array queries, before introducing equivalent operations through the PyMongo Python library.
2. Aggregation Pipelines and Indexing
The session introduced MongoDB aggregation pipelines, in which documents pass through ordered stages such as $match, $project, $group, $unwind, $sort and $lookup. It demonstrated accumulator operations including counts, sums, averages, minima, maxima, and first or last values, alongside reshaping, cleaning and constructing fields within pipelines. Examples used restaurant data to calculate statistics by borough and cuisine, flatten arrays of inspection grades, create map-ready outputs, and obtain random samples. The class then covered indexes, explaining collection scans versus index scans and the use of single-field, compound, text, unique, time-to-live (TTL), wildcard, collation and geospatial indexes. Practical work was assigned to create indexes and write queries and aggregations that generate a restaurant report.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h4 ECTS
Data Pipeline — Part 1
XML data flow, DTD and schemas, XSL transformations and JSON data formats.
Describing, checking and transforming structured data for exchange
The class examined how structured information can be represented, validated and transformed between formats. Extensible Markup Language (XML) and JavaScript Object Notation (JSON) provided the main settings, with bibliographies, catalogues and film records as practical examples. Students created documents and schemas, deliberately changed data to test validation, and explored transformations that select, reorder and present information from an existing structure.
What students explored
Representing structured information
Elements, attributes, objects and arrays compared through data-exchange examples, distinguishing a document's structure from the programming or presentation tools around it.
Making constraints explicit
Schemas used to define types, required information and permitted values, with deliberate data changes testing whether validation detects departures from those rules.
Transforming existing records
Paths and templates used to select and reshape data, including filtering, ordering and producing readable output from catalogues and film records.
Explore the sessions
1. Building and inspecting a structured document
Data formats were distinguished from web programming languages and human-readable presentation. XML introduced nested elements, attributes, declarations and a tree structure, alongside the distinction between well-formedness and validation. Namespaces, resource identifiers and language tags addressed how names and context are expressed. Students created, formatted and viewed a simple document in an editor and browser. Comparison with JSON and graph-based semantic data placed the exercise within a wider discussion of representations used to exchange information between systems.
2. Defining a schema and testing its constraints
XML Schema introduced simple and complex types, element and attribute declarations, and rules governing how often information can occur. Ranges, patterns and enumerations constrained values, while type extension offered a way to build on definitions. Students created and validated schemas for bibliography and film data, deliberately adding or removing information to test the rules. Namespace and schema-location declarations connected documents to their definitions. Work then began on more precise types for a curriculum example within the session.
3. Selecting records and applying transformation templates
XPath expressions introduced paths, tests and conditions for selecting nodes in an XML tree. Extensible Stylesheet Language Transformations (XSLT) then used matching templates to generate other representations. The class examined template application, default rules, specificity, extracted values and dynamically constructed output. Catalogue and film examples supported activities in filtering, counting, sorting and formatting results for web presentation. The focus was on transforming existing structured information through declared rules rather than manually reproducing each output record by hand.
4. Modelling JSON and checking permitted variations
JSON objects, arrays and primitive values were compared with XML structures. Ordered collections and repeated items led into JSON Schema rules for properties, required fields, types and constraints. Students created representations and schemas for bibliographies, catalogues and film data, then changed the data to test validation. Restrictions on additional information and dependencies extended the contract beyond basic types. The class also prepared to transform XML film records into JSON using XSLT, carrying the transformation theme across formats.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
50h4 ECTS
Cloud Computing — Amazon AWS
AWS cloud services and preparation for AWS Certified Solutions Architect – Associate.
Examining data movement and recovery choices in cloud systems
These sessions examined how data moves through Amazon Web Services (AWS), and how an architecture can recover when something goes wrong. Data ingestion and processing led into backups, replication and recovery strategies. Revision activities then connected these choices with wider architectural questions about security, availability and cost. The account follows the supplied sessions rather than presenting them as an exhaustive introduction to every AWS service.
What the sessions explored
Moving and preparing data
Batch and streaming pipelines introduced choices for ingesting, cataloguing, transforming and querying data, including quality checks and handling sensitive information.
Planning recovery
Backups, replication and redeployment were compared against recovery objectives, with attention to corruption, regional failures, cost and operational complexity.
Reviewing architectural choices
Knowledge checks and assessment preparation revisited the reasons for selecting particular services, rather than treating a product name as an answer.
Explore the sessions
1. Moving and processing data in AWS
The session introduced data engineering on AWS, focusing on the five Vs of data: value, veracity, volume, velocity and variety. It explained data pipelines, including extract, transform and load (ETL) and extract, load and transform (ELT) approaches, structured and unstructured data, and the choice between batch and streaming processing. AWS ingestion services were covered, including AppFlow for software-as-a-service data, DataSync for file transfers, and Data Exchange for third-party data. The class examined AWS Glue for data catalogues, crawlers, ETL jobs, schema management, data quality and handling sensitive information. Streaming tools including Kinesis Data Firehose, Kinesis Data Streams, managed Apache Flink and Kafka services were compared, alongside data lakes, data warehouses, Lake Formation, Athena, Redshift and OpenSearch.
2. Planning recovery across a cloud architecture
Disaster recovery planning connected acceptable data loss and recovery delay with storage, computing, databases and networks. Backups, snapshots and cross-region replication were compared, including why replication alone does not protect against corruption. The class reviewed storage migration, lifecycle management and shared file services, then considered machine recovery, automatic scaling, load balancing and regional failover. Managed database recovery and repeatable infrastructure deployment added further recovery options. A guided hybrid-storage lab covered configuring storage, moving files to Amazon Simple Storage Service (S3) and replicating data into another region, connecting architectural choices with the mechanics of protecting and moving data.
3. Comparing recovery patterns against business needs
The session completed the disaster recovery module by reviewing recovery point objectives (RPOs), recovery time objectives (RTOs), and the relationship between disaster recovery and business continuity planning. It covered AWS services and approaches for resilience, including S3 replication, Storage Gateway, Amazon Machine Images, snapshots, CloudFormation infrastructure as code, Route 53 health checks and failover. Four disaster recovery patterns were compared: backup and restore, pilot light, warm standby, and multi-site active-active, with emphasis on their cost, recovery speed and suitable use cases. Students worked through knowledge-check and exam-style questions on selecting the appropriate recovery pattern and AWS service for different scenarios. The session also introduced the certification exam structure, exam guide and practice-question resources.
4. Using revision questions to guide preparation
Certification preparation used a modular study guide and short quizzes to identify topics needing further revision. The material revisited computing, storage, networking, databases and security, alongside name resolution, logging, resilience, performance and cost. Students were shown how quiz results could guide their study rather than treating every topic as equally familiar. Additional resources included hands-on AWS practice environments, an architecture project and configurable practice tests. The session concerned ways to prepare and assess understanding; the source does not establish completion of the project or an eventual certification result.
5. Reviewing architecture choices and assessment questions
The session reviewed commonly misunderstood AWS concepts in preparation for an assessment. It covered service-level agreements, Elastic Compute Cloud (EC2) Auto Scaling, S3 durability, encryption and access logs, virtual private cloud (VPC) networking, network address translation (NAT) gateways, VPC peering, security groups and availability zones. It also compared relational databases with DynamoDB, explained Identity and Access Management (IAM) permissions and roles, and distinguished CloudWatch, CloudTrail and AWS Config for monitoring and auditing. Further topics included messaging with SNS and SQS, CloudFormation, caching, VPC flow logs, cost-allocation tags, SSL offloading, and gateway versus interface VPC endpoints. Practice-question answers were used to reinforce how to select appropriate AWS services for performance, security, scalability and cost management.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Software Engineering — Part 1
Procedural programming in Rust, memory representation, ownership, borrowing and reliable code.
Making ownership and interfaces visible in working Rust code
Rust provided the setting for examining how software structure and memory handling interact. The sessions moved from values, ownership and borrowing to error handling, collections and a modular graph implementation. Testing then returned attention to observable behaviour: what a function or component should do, how failures are represented, and how checks can remain independent of the implementation details they are intended to examine.
What students explored
Memory and references
Stack and heap storage, ownership, borrowing and lifetimes explained how Rust constrains access to values and the validity of references.
Structure and interfaces
Collections, traits and modules connected data-structure choices with separation of concerns, reuse and a graph implementation.
Checking behaviour
Unit, integration and property-based testing were distinguished, with graph examples connecting assertions and error cases to actual software components.
Explore the sessions
1. Rust Fundamentals and Ownership
The session introduced Rust as a systems programming language chosen for performance, memory safety, concurrency and use in data-intensive applications. It covered Rust tooling, including Cargo projects, crates, the Cargo.toml manifest, building and running programs, and configuring an editor with Rust analysis and debugging support. The class explained memory management through the stack and heap, including scope, allocation, fixed and dynamic data, strings and pointers. It also introduced immutable and mutable variables, ownership, moving values, cloning, borrowing through references, and basic control structures and functions.
2. Lifetimes, Error Handling and Traits
The session examined Rust lifetimes, explaining how references must remain valid and how explicit lifetime annotations prevent dangling references at compile time. It covered Option and Result types for handling missing values and failures, including matching, unwrapping, default values and propagating errors with the question-mark operator. The class introduced structs for grouping related data, their instantiation and mutation, ownership implications when copying fields, and implementation blocks for adding methods and constructor-like functions. It then introduced traits as shared behaviour across types, using the Iterator trait and operations such as next, map, filter, take and collect in preparation for building a linked-list example.
3. Data Structures, Graphs and Modularity
The session reviewed Rust exercises on lifetimes and references, mutable borrowing in structs, generic functions, Option and Result types, iterators, collections, and filtering data. It compared core data structures such as vectors, double-ended queues, heaps, hash maps, hash sets, B-tree maps and sets, focusing on their operations, complexity and appropriate use cases. Advanced structures including graphs, trees and spatial trees were introduced, alongside graph traversal and shortest-path concepts. The class then covered modularity, separation of concerns, encapsulation, abstraction, decoupling, interfaces, reuse and testing, before beginning a modular Rust graph implementation using type aliases, structs and derived traits.
4. Rust Testing, Benchmarking and Profiling
The session covered software testing in Rust, including the purposes and distinctions of unit, integration and property-based tests. It demonstrated how to write and run tests with Cargo, use assertions, test error conditions and private functions, mock external dependencies, organise tests, and keep tests independent and focused on behaviour. Practical examples applied unit and integration tests to graph structures and algorithms. The class also introduced benchmarking, code coverage, debugging and profiling, before reviewing core Rust principles such as ownership, borrowing, memory safety, modularity and error handling.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h3 ECTS
Software Engineering — Part 2
Object-oriented programming in C#, SOLID principles, UML, MVC, design patterns and Entity Framework.
Following a data pipeline through objects and design choices
C# examples connected object-oriented concepts with the structure of an application. The sessions moved from types and collections to classes, interfaces and architectural separation, using transactions and sensor data to make those choices concrete. Rather than treating design patterns as a vocabulary exercise, the later work examined how data access, reporting, export and notifications can be arranged through distinct responsibilities.
What students explored
Objects and relationships
Encapsulation, inheritance and polymorphism were examined through examples that distinguished shared capabilities from the specialisation of a class.
Separating responsibilities
Unified Modelling Language diagrams and model–view–controller architecture connected requirements and class structure with application behaviour and presentation.
Adapting the pipeline
Factories, adapters, repositories and observers supplied ways to organise data conversion, persistence, export and notifications without combining every concern.
Explore the sessions
1. C# Fundamentals and Data Structures
The session introduced C# as an object-oriented language used with the .NET platform and Common Language Runtime, including automatic memory management and just-in-time compilation. It covered Visual Studio project organisation, solutions, projects, namespaces, program entry points, primitive and reference types, operators, functions, conditions and loops. Practical examples demonstrated type conversion, integer division, user input validation with TryParse, and the differences between casting and parsing. The class also examined arrays, multidimensional and jagged arrays, and dynamic data structures including lists, linked lists, stacks and dictionaries. A merge sort example was introduced to illustrate divide-and-conquer sorting and its time complexity.
2. Object-Oriented Design and UML Modelling
The session introduced object-oriented programming, defining objects as entities with state, behaviour and identity, and classes as blueprints containing attributes, methods and constructors. It covered encapsulation through public and private members, static members, the current-instance reference, properties, constructors and method overloading, using bank-account and fraction examples in C#. SOLID design principles were introduced, particularly single responsibility and open–closed principles, with discussion of maintainability, extensibility and testability. The class also introduced the Unified Modelling Language (UML), including use case diagrams for identifying actors and system requirements, and class diagrams for modelling attributes, methods, visibility and static members. Finally, it began explaining horizontal relationships between classes, including association and aggregation.
3. Inheritance, Interfaces and Polymorphism
The session covered object-oriented relationships: inheritance through generalisation and specialisation, and interface realisation as a contract for shared capabilities. It explained polymorphism, abstract classes and methods, method overriding, virtual methods, protected access, base-class constructors, casting, and the difference between overriding at runtime and overloading at compile time. Examples modelled animals, vehicles, flying objects, database connectors, property ownership and transaction records. A practical C# example used abstract transaction classes, sales and refund specialisations, Language Integrated Query (LINQ)-based reporting, and interchangeable comma-separated values (CSV) and JavaScript Object Notation (JSON) data exporters through an interface. Students were set a guided UML-based exercise to build an Internet of Things (IoT) data pipeline using these concepts.
4. MVC Architecture and Design Patterns
The session introduced model–view–controller (MVC) architecture, separating an application into models for data and logic, views for presentation, and controllers for handling input and coordinating the other components. A console-based user-management example was developed to demonstrate this separation, including input validation, menus, error handling and exception handling. The class then covered creational, structural and behavioural design patterns, focusing on singleton, factory, adapter and observer patterns, including their purposes and limitations. These ideas were applied to a sensor-data pipeline using a factory to convert database records into reading objects, a repository and Entity Framework with SQLite for data access, report generation, and CSV and JSON export. The example was extended with an observer-based event system to notify application observers when database, reporting and export actions occurred.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
Data Management & Visualisation125h • 22 ECTS
Apoyo a decisiones, reporting y sistemas de información
Este bloque conecta analytics con las herramientas y sistemas que las organizaciones realmente usan para reporting, CRM y apoyo a decisiones.
25h4 ECTS
Advanced Excel for Data Analytics
Formulas, data visualisation, PowerPivot, Solver and Visual Basic for Applications.
Treating a spreadsheet as a system that needs structure
Advanced Excel work connected familiar spreadsheet operations with questions of architecture and reliability. Separate input, processing and output areas led into Power Query transformations and a related-table data model. Billing and game-scoring exercises made the consequences of those choices concrete, while report design and an introduction to automation extended the discussion beyond producing a formula that happens to work on the current sheet.
What students explored
Designing for inspection
Completeness, accuracy, validity and access control were considered alongside simplicity, usability and the risks of linked workbooks.
Separating data operations
Tables, transformations and related fact and dimension data distinguished grid calculations from work better placed in a preparation or modelling layer.
Explaining the result
Report layout, meaningful labels and stable references connected calculations with output that another reader can interpret and check.
Explore the sessions
1. Spreadsheet Architecture and Risk Management
The session introduced the scope of advanced Excel, including pivot tables, data transformation and modelling with Power Query, Power Pivot and Data Analysis Expressions (DAX), and a later introduction to Visual Basic for Applications (VBA). It examined Excel as a powerful but potentially risky tool, focusing on data completeness, accuracy, validity, access control, versioning and the dangers of links between separate workbooks. Students were taught to treat spreadsheets as systems with distinct input, processing and output areas, using ideas drawn from software architecture. Design priorities such as relevance, simplicity, scalability, robustness, auditability and productivity were discussed as trade-offs. The class then began independent work through exercises on pivot tables.
2. Robust Reporting with Tables and PivotTables
The session reviewed spreadsheet risk management using completeness, accuracy, validity and restricted access, alongside trade-offs between usability, simplicity, robustness and productivity. It introduced a level-one Excel architecture that separates input, processing and output areas, using Excel tables, lookups, aggregations, pivot tables and GETPIVOTDATA to create stable reports. Students worked on a billing-report exercise involving a date dimension, data enrichment with XLOOKUP, a pivot table, and a report or dashboard. The class also discussed continuous date dimensions, handling unmatched lookup values as data-quality and referential-integrity issues, and the purpose of dynamic array functions, including UNIQUE, SORT and FILTER.
3. Power Query Data Transformation and Loading
The session introduced Power Query as Excel’s extract, transform and load tool, and compared level 2 spreadsheet architecture with a grid-only approach. It explained how Power Query connects to external sources, transforms data before loading it, and can load results to an Excel table, a PivotTable cache or the data model. The class covered the importance of managing data types, including choosing efficient date and currency types, and discussed when calculations or aggregations should be performed in Power Query rather than in the grid. A demonstration showed how to create queries from Excel tables, review and edit transformation steps, use connection-only loading, navigate between Excel and the Power Query Editor, and begin working with M code and the Advanced Editor. The session also clarified the use of number formats for PivotTable values.
4. Power Pivot Data Modelling and Relationships
The session introduced Power Pivot as Excel’s business-intelligence tool and compared a level 2 spreadsheet design with a level 3 design based on a data model. It explained how Power Query prepares separate fact and dimension tables, which are then related in a data model rather than merged into one large table. The class covered relational-database concepts including primary and foreign keys, relationship cardinality, normalisation, denormalisation, star schemas and snowflake schemas. It distinguished online transaction processing (OLTP) databases, which are designed for transaction writing, from online analytical processing (OLAP) databases, which are designed for analytical reading, and linked the transformation between them to extract, transform and load (ETL) processes. The session also introduced DAX measures, filter context, Power Pivot tables, and the differing roles of Excel and Power BI for reporting.
5. Darts Data Reshaping and VBA Introduction
The session developed a darts-scoring challenge by reshaping raw game data into a long table containing game, player, turn, throw and score information. It covered using Power Query to unpivot data, split score strings, merge lookup tables and prepare data before applying game rules in the worksheet with running totals and indicator columns for new turns, wins and losses. The class also reviewed report design and compared histogram outputs, focusing on informative titles, clear axes, precision, white space and information density. The later section introduced VBA, including modules, procedures, object hierarchies, properties, methods, variables, data types, scope, the Visual Basic Editor, and executing or debugging code with F5 and F8.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h4 ECTS
Data & Machine Learning Visualisation Ecosystem
Data visualisation and machine-learning ecosystem, with a focus on SAS Viya.
Connecting visual exploration with decisions about modelled customer response
SAS Visual Analytics provided the setting for moving between exploration, predictive modelling and reporting. The sessions connected interactive views with customer-response models, then examined ranking, campaign evaluation and the governance of shared reports. Demonstrations and assigned exercises kept the discussion grounded in data and model output, while distinguishing a useful ranking from a simple yes-or-no prediction and a departmental report from a maintained corporate resource.
What students explored
Exploring interactively
Charts, maps, filters and linked selections supplied ways to examine categories and measures before drawing conclusions from the data.
Evaluating a ranking
Customer-response models were compared through error measures, ranking performance and campaign calculations rather than classification accuracy alone.
Maintaining reporting
Lineage, auditability and data quality connected analytical output with secure reporting and the work required to maintain a project in production.
Explore the sessions
1. SAS Visual Analytics Dashboards and Interactivity
The session introduced SAS Viya and SAS Visual Analytics as tools for exploring data, creating reports and dashboards, and communicating business value from analytics. It distinguished exploratory data visualisation from traditional business intelligence reporting, including the role of in-memory distributed data processing. Practical demonstrations covered bar charts, maps, geographic hierarchies, measures and categories, formatting, filters, display rules, interactive actions, pop-up pages and dashboard controls. The class also discussed the use of analytics and machine learning in production settings, particularly for compliance, fraud detection, risk modelling, pharmaceutical trials and sales forecasting. Students were guided to access the learning platform and begin a hands-on visual analytics tutorial.
2. Supervised Customer Response Modelling
The session introduced supervised predictive modelling for large datasets, focusing on how historical outcomes can be used to predict future customer behaviour. Using a supermarket campaign dataset, students explored target variables and predictors, created grouped categories, and examined relationships through charts and linked selections. The class built and compared decision trees, random forests, gradient boosting, logistic regression and neural networks, considering measures such as misclassification rate, receiver operating characteristic (ROC) curves, area under the curve (AUC) and lift. It emphasised ranking customers by predicted likelihood rather than making only binary decisions, and used lift and return-on-investment calculations to select an effective campaign target group. Students were set practical exercises to reproduce the analysis and evaluate models on further datasets.
3. Marketing Analytics and Reporting Governance
The session reviewed the use of SAS Visual Analytics for business intelligence, including the distinction between departmental reporting and secure corporate reporting with data lineage, auditability and regulatory compliance. It introduced relevant professional certifications in statistics, SAS programming, visual analytics and visual statistics, and explained how associated e-learning materials and practical exercises can support preparation. Marketing analytics was explored through mass marketing, segmentation and relationship marketing, with a focus on machine-learning ranking models, control groups, incremental response and targeting customers with appropriate offers. The class also considered dynamic pricing, customer data, campaign management, model deployment and the importance of data quality, traceability, return on investment and maintaining data projects in production. Students were assigned visualisation and modelling exercises, with reports and an executive summary to explain the work.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h2 ECTS
Analysis & Design of Information Systems
Principles and methodologies for designing and analysing information systems.
Defining the information system before choosing its implementation
Analysis and design were presented as work that gives implementation its purpose and constraints. The sessions moved from stakeholders and business rules to events, interfaces and relational data, repeatedly distinguishing what a system must do from the technology used to do it. Examples connected that distinction with practical checks: required attributes, duplicate records, dependencies and constraints that a table structure alone cannot enforce.
What students explored
Understanding the requirement
Stakeholders, business rules and data dictionaries helped define the information and behaviour a system needs before selecting its implementation.
Describing interactions
Context diagrams and event responses made external actors, exchanged data and validation steps visible without beginning with application code.
Modelling the data
Functional dependencies, relational algebra and normalisation connected business meaning with tables, keys and checks needed to maintain consistency.
Explore the sessions
1. Information Systems Analysis, Design and Lifecycle
The session introduced analysis and design as the work required before implementation, stressing the need to clarify requirements and plan solutions before writing code. It examined software complexity through the large number of possible system states, using general-purpose tools such as spreadsheets to show why complete testing is often impossible. The class compared information technology challenges with mathematically modelled engineering problems, and discussed the limitations of generative artificial intelligence and machine learning as tools for reasoning and software development. It defined information systems as organised processes for transforming data into information and potentially knowledge, with data models enabling useful access to raw data. The session also used the house-building analogy to explain requirements analysis, design, implementation, compliance, integration, security, maintenance, liability and software quality.
2. Requirements, Stakeholders and Business Rules
The session introduced information-systems analysis as the phase for understanding business needs before making design or technology choices. It covered requirements, stakeholders, business rules, events, data attributes and data dictionaries, emphasising the need to distinguish what a system must achieve from how it will be implemented. The class compared models and methods, explaining that models represent reality while methods provide steps for operating on a model, and discussed why analysis relies on clear, simple models rather than a guaranteed method. Examples involving JavaScript Object Notation (JSON), Extensible Markup Language (XML) and user-interface prototyping illustrated the importance of precise terminology, data representation, validation, and documenting operational requirements.
3. Context Diagrams, Events and APIs
The session introduced context diagrams for analysing an information system as a black box, identifying external actors, events and time-driven triggers. It explained the distinction between data-carrying events and signals, and compared pulling data from external sources with receiving pushed data through gateways, queues and agreed protocols. The class examined application programming interfaces (APIs) as interfaces exposing reusable software functions, particularly for exchanging data between systems. It then modelled responses to events as action flowcharts, using checks for mandatory attributes and duplicates before creating a customer, and distinguished programming from coding and software engineering. The session also began data-dictionary analysis, discussing attributes, identifiers, universally unique identifiers (UUIDs), relational versus graph databases, scalability, transaction management and data-privacy implications of universal identifiers.
4. Relational Modelling, Algebra and Normalisation
The session examined the relational data model, including relations, attributes, tuples, primary keys and foreign keys. It explained how functional dependencies are identified through business context and used to derive tables, keys and associations, with one-to-one relationships considered before many-to-many relationships. Relational algebra was introduced as the basis of Structured Query Language (SQL), covering selection, projection and joins, alongside query planning and optimisation using database statistics. The class began normalisation, focusing on first normal form and atomic values, then second normal form and the problems caused by partial dependencies in composite keys. A human-resources allocation example was used to show data inconsistency, redundant storage and the need for programmed checks to enforce dynamic constraints such as overlapping employment periods.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h6 ECTS
Reporting & Visualisation
Preparation for Microsoft Power BI data analysis certification and reporting workflows.
Following a report back through its model and data
Power BI sessions followed the path from source records to an interactive report and dashboard. Data-quality checks and transformation steps preceded relationships and calculations, so the visual layer rested on an explicit model. Practical work then examined filters, navigation and publishing, with refresh behaviour connecting the finished view back to its sources. The account keeps those preparation and modelling decisions visible alongside the presentation work.
What students explored
Preparing the records
Import choices, regional settings and Power Query checks addressed errors, missing values, duplicates and types before the data was modelled.
Controlling the calculation
Relationships, filter direction and measures connected report behaviour with the data model, including the risk of ambiguous filtering paths.
Building the reading experience
Visuals, slicers, navigation and dashboards were explored alongside publishing and the mechanisms needed to refresh source data.
Explore the sessions
1. Power BI Data Loading and Quality Checks
The session introduced the role of a Power BI data analyst and the overall workflow of preparing, modelling, visualising, analysing and managing data. It explained how data can be drawn from sources such as SQL Server databases, comma-separated values (CSV) files, cloud services and business applications, and distinguished between importing data locally and using DirectQuery. Students practised configuring regional settings, restoring a sample database, and loading six database tables plus two CSV tables into Power BI Desktop. The class also demonstrated Power Query features for checking data quality, handling errors, blanks and duplicates, changing data types, renaming or removing columns, merging columns, creating calculated columns, and applying or reversing transformation steps. Relationships between tables, including one-to-many and many-to-many relationships, were introduced as the basis for later report and dashboard design.
2. Data Relationships and DAX Calculations
The session reviewed Power BI data modelling, including creating and editing relationships, managing active and inactive links, and hiding intermediary tables used to support many-to-many relationships. It explained filter direction in relationships and the need to avoid ambiguous filtering paths in a data model. Students compared predefined quick measures with custom measures and calculated columns written in Data Analysis Expressions (DAX). Basic DAX syntax was demonstrated for constants, column references, arithmetic calculations, aggregate functions and names containing spaces, alongside setting up financial-year date handling. Students then worked on labs covering model configuration, DAX expressions and date sorting.
3. Report Design and Visual Enhancement
The session reviewed Power BI data preparation, including checking data quality, renaming tables and columns, merging columns and tables, removing duplicates and unnecessary fields, changing data types, and using applied steps for troubleshooting. It covered data modelling through one-to-many, many-to-one and many-to-many relationships, including bridge tables, active or inactive relationships, and filter propagation directions. The class also discussed quick measures, custom DAX measures, calculated tables and columns, financial date tables, CALCULATE, REMOVEFILTERS and time-intelligence functions. The main focus then moved to report design: selecting and formatting visualisations, using cards, tables, maps and charts, applying filters and slicers, and planning interactive report layouts. Students began a lab activity to create the first part of a multi-page report.
4. Dashboards, Publishing and Interactive Reporting
The session reviewed the Power BI workflow: loading data, cleaning and transforming it, managing columns and recorded query steps, and modelling relationships between tables. It covered DAX calculated columns, measures and tables, financial date tables, filter direction, and report design features including visuals, slicers, drill-through, conditional formatting, synchronised slicers, bookmarks and buttons. Students continued a practical exercise on report design and publishing work to the Power BI service. The new topic introduced dashboards: pinning visuals from reports, combining content from different reports, adding images and titles, using natural-language Q&A, viewing refresh times, and understanding gateways for refreshing on-premises data.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h6 ECTS
CRM Data Management
Microsoft Power Platform Functional Consultant preparation and CRM data management software.
Connecting customer records, permissions and business processes
Customer relationship management was explored as a system of related records, access rules and business activities. Practical work in Dataverse moved from tables and environments to imports, applications and process flows. Sales examples connected those structures with leads, opportunities and orders, while troubleshooting and security made visible the operational questions behind a form: who may change a record, what happens next, and how a failure is investigated.
What students explored
Models and environments
Tables, relationships, solutions and separate environments connected the structure of customer data with controlled changes to the applications that use it.
Access and automation
Record privileges, business rules and flow histories showed how permissions and conditions influence what users can do and how automated steps behave.
A record through the sales process
Leads, opportunities, quotes and orders gave related data a business sequence, including follow-up activities and the handling of disqualified leads.
Explore the sessions
1. Dataverse Data Modelling and Environment Management
The session introduced customer relationship management (CRM) data modelling in Dataverse, including tables, primary and foreign keys, and one-to-many, many-to-one and many-to-many relationships. It compared on-premises and cloud CRM deployments, and covered Dataverse features such as application programming interfaces (APIs), security, auditing, business rules, workflows, duplicate detection, reporting and integrations. Students learnt how development, test and production environments are managed, including environment types, access groups, backup, copying and solution deployment. Practical activities involved accessing a shared CRM environment, creating account and contact records, creating a solution with a publisher and prefix, and creating, publishing and testing a custom table. The session also explained table ownership, activity tables, virtual tables, auditing, quick create forms and record management.
2. Data Import, Security and Application Types
The session began with a practical exercise in exporting account data to Excel, amending a phone number, importing the file back into the CRM system, and checking that the change had been applied. It then covered Dataverse security, including business units, security roles, record privileges, access levels, teams, column-level security and hierarchy security. Further topics included environment analytics, storage capacity, auditing, duplicate detection, bulk deletion and long-term data retention. The class also introduced model-driven, canvas and Power Pages applications, before practising the creation of a model-driven app with grouped tables for customer and sales functions.
3. Flow Troubleshooting, Business Rules and Process Flows
The session covered testing and troubleshooting Power Automate flows using Flow Checker, test runs, run history, action statuses and error details. It also explained administrative tasks such as monitoring flow activity, reviewing run histories and sharing flows with appropriate permissions. Business rules were introduced as a no-code way to apply conditions and actions, including showing, hiding, enabling, disabling or requiring form fields, with a practical exercise to control four contact fields according to whether an account had been selected. The class then introduced business process flows as stage-based guides for users, including their steps, limits, associated tables, conditional branches and use in opportunity management.
4. Sales Pipeline, Opportunities and Order Processing
The session explained the CRM sales pipeline, from creating leads through imports, website forms or direct contact, to recording follow-up activities such as calls, emails, meetings and tasks. Leads can be qualified to create account, contact and opportunity records, or disqualified with a recorded reason while remaining available for later reactivation. Opportunities use price lists and product line items to calculate prices and totals, then progress through quotes, orders, fulfilment, payment and invoicing. The class also distinguished system-generated record IDs from customer-facing quote and order numbers, discussing uniqueness and restrictions on changes after creation. A practical activity asked students to carry out both a successful sales-pipeline case and a disqualified-lead case in the Sales Hub application.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
Management, ética y derecho50h • 4 ECTS
Gobernanza, derecho y contexto de proyecto
Los profesionales de analytics también necesitan entender el entorno organizacional, legal y ético en el que se usan los datos.
25h2 ECTS
Data Laws and Regulations — Philosophies, Geopolitics and Ethics
Data privacy and security principles, EU and US regulation, and differences between common law and code law.
Data Laws and Regulations — Philosophies, Geopolitics and Ethics
Course code: MEL-001
Questioning the rules and responsibilities surrounding artificial intelligence
The sessions examined data and artificial intelligence through law, ethics and geopolitical choices. Discussion moved between regulatory approaches and concrete questions about privacy, discrimination, ownership and human control. Cases involving conversational robots, connected products and autonomous weapons showed why technical capability alone does not settle a decision. The account follows the arguments explored in class, including tensions between innovation, enforceable obligations and the protection of rights.
What students explored
Law and ethical commitments
Different jurisdictions and risk-based regulation provided a setting for distinguishing enforceable duties from voluntary commitments and for discussing competing public priorities.
People and their data
Privacy, consent, data-subject rights and sharing rules connected system design with identifiable people, potential discrimination and the limits of control over information.
Responsibility beyond the model
Human control, professional ethics and supply-chain oversight extended the discussion to how systems are supplied, deployed and used by other organisations.
Explore the sessions
1. Legal, Ethical and Geopolitical Challenges of AI
The session introduced the legal, ethical and geopolitical issues raised by data and artificial intelligence, emphasising that regulation varies across jurisdictions and societal contexts. It explored why artificial intelligence (AI) and data engage areas including data protection, liability, intellectual property, constitutional law, international law and discrimination. Students considered the limits of using AI in legal decision-making, including predictive systems for human-rights cases, balancing legal certainty and efficiency against human interpretation and the evolving nature of law. The class also examined definitions of AI, the distinction between narrow and general AI, calls to regulate future technological risks, and the possible legal personhood of robots. A case discussion considered arguments for and against a conversational robot inheriting an owner’s assets.
2. EU AI Act Risk-Based Regulation
The session examined the development and purpose of the European Union (EU) AI Act, including tensions between innovation, competitiveness, sovereignty, public regulation and private ethical codes. It distinguished legal obligations from voluntary ethical commitments, explaining why enforceable rules and sanctions are significant. The class explored the Act’s risk-based model, covering prohibited, high-risk, limited-risk and minimal-risk AI systems, alongside the duties imposed on providers and other actors. It also considered the Act’s extraterritorial reach, exclusions such as military and research uses, enforcement mechanisms, regulatory sandboxes, and the particular rules for general-purpose AI models. Students discussed practical difficulties in assessing risks to fundamental rights, democracy and human dignity, as well as potential conflicts between European and international regulatory approaches.
3. Privacy, Data Protection and the GDPR
The session introduced data protection law through discussion of children’s data, profiling, algorithmic bias and the limits of consent in digital services. It examined why data protection is important for AI, comparing the European rights-based approach with the more sector-specific approach in the United States. The class covered privacy as a broader concept than information control, including dignity, intimacy, home and communications, and considered the EU Charter rights to privacy and personal-data protection. It then introduced the General Data Protection Regulation (GDPR), including personal data, identifiable natural persons, processing activities, material and territorial scope, and the basic obligations on organisations processing data. Students discussed examples involving health data, policing, profiling, data transfers and cross-border services.
4. Data-Subject Rights, Bias and Data Sharing
The session examined GDPR data-subject rights in AI systems, including access, rectification, erasure, restriction of processing, portability and objection, and explained privacy by design across training and deployment. It considered how biased datasets and algorithmic design can create or reinforce discrimination, and discussed fairness, auditing, impact assessments and ethics by design. The class then introduced the EU Data Act, its application to data from connected products and related services, its relationship with the GDPR, and rules on user-led data sharing, competition, gatekeepers, contracts, compensation and dispute resolution. The final section used neurotechnology to explore mental privacy, brain data, cognitive liberty, and the need for ethical and legal safeguards against misuse by companies or governments.
5. Autonomous Weapons and AI Professional Ethics
The session examined the ethical, legal and professional responsibilities of scientists and data specialists in relation to autonomous lethal weapons and AI used in conflict. It considered the limits of existing regulation, particularly the military exemption in the AI Act, and debated whether emerging technologies should be regulated or prohibited before they are fully developed. The class compared arguments for and against autonomous weapons, including meaningful human control, bias, accountability, international consensus and historical preventive bans on certain weapons. It also discussed whether advanced AI systems merely imitate reasoning or might develop forms of understanding or consciousness, and considered the implications for law and responsibility. Finally, the session explored corporate due diligence, value-chain oversight and contractual controls through examples of technology companies supplying tools that may be used for immigration enforcement, surveillance or defence.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
25h2 ECTS
IT Project Management: Traditional and Agile Approaches
Project management lifecycle and implementation using traditional and agile approaches.
IT Project Management: Traditional and Agile Approaches
Course code: MEL-002
Planning work, reviewing progress and adapting a project
Project management was explored through both structured planning and short delivery cycles. The sessions connected business purpose, scope, resources and stakeholders with sprint planning, review and adaptation. Simulations and practical activities made the methods discussable in terms of work actually planned or reviewed. Traditional and agile approaches were compared through uncertainty, constraints and coordination, rather than presented as a choice with one answer for every project.
What students explored
Purpose and constraints
Business cases, project charters and scope, time and cost constraints connected planned work with the reasons for undertaking it and the resources available.
Feedback and commitment
Sprint reviews, retrospectives, capacity and velocity introduced ways to inspect progress and make realistic commitments as a team learns from delivery.
Coordination across teams
Roles, stakeholder relationships, dependencies and scaled agile practices linked local planning decisions with wider organisational objectives and collective delivery.
Explore the sessions
1. Project Foundations and Agile Sprint Management
The session introduced the course structure and its aim of preparing students to participate in or lead data science projects. It contrasted traditional, waterfall-style project management with agile approaches, explaining time-boxed sprints, sprint reviews, retrospectives, planning and visual task boards. A project was defined as a temporary undertaking with a unique objective, a defined timescale and required resources, distinguishing it from routine operations. The class also examined product and sprint backlogs, prioritisation, team commitment, transparency and measuring progress. Business cases, break-even points, return on investment and the need to reassess a project when business conditions change were introduced.
2. Waterfall Lifecycle, Triple Constraint and Project Vision
The session began with sprint planning and reflection, using completed work and team capacity to agree a realistic commitment for the next sprint. It covered project vision statements, the limitations of AI-generated content, and the need to understand project-management concepts well enough to assess artificial intelligence (AI) outputs critically. Key traditional project-management concepts included the triple constraint of scope, time and cost; project life-cycle phases; uncertainty, risk and the rising cost of change; and the Project Management Institute (PMI) waterfall framework, including project charters, planning, resources, communication, procurement and stakeholder management. Students practised preparing elements of a project charter and assigning stakeholder roles through a responsible, accountable, consulted and informed (RACI) matrix, then discussed stakeholder power and influence. The class also covered Gantt charts, task estimation, S-curves, earned value, cost and schedule variance, key performance indicators (KPIs), and the Plan-Do-Check-Act cycle.
3. Agile Manifesto, Velocity Forecasting and Method Comparison
The session used a simulated sprint review, retrospective and planning exercise to demonstrate approval of completed work, velocity tracking, forecasting and commitment to a minimum sprint scope. It introduced Agile values from the Agile Manifesto, stressing individuals and interactions, working software, customer collaboration and responding to change whilst recognising the continuing value of plans, documentation and contracts. Agile and waterfall approaches were compared in terms of fixed constraints, planning, suitability for different levels of uncertainty, stakeholder involvement and regulated environments. The class examined timeboxing, incremental delivery, technical debt, minimum viable products, proof of concepts, product backlogs, prioritisation and Agile contract models. It also covered the roles of the product owner, Scrum Master and self-managing cross-functional teams, followed by a scenario activity, quiz and video on Agile product ownership.
4. Adaptive Backlogs, DevOps Practices and Scaled Agile
The session showed how an agile backlog can be adapted as new information emerges, using prioritised user stories and changing investigation scenarios to illustrate this process. It emphasised the importance of direct, timely communication for agile teams, particularly where teams are distributed. Agile software development practices included automated testing, continuous integration and delivery, code standards, collective code ownership, technical-debt reduction, and responsible use of AI-assisted programming. The class then introduced scaled agile working through Scaled Agile Framework (SAFe), including Agile Release Trains, programme increments, programme increment (PI) planning, cross-team dependencies, and the roles of product manager, Release Train Engineer and system architect. It also considered how agile delivery can be connected with wider business strategy and product value.
An account of teaching delivered in this course. Content and sequencing may vary between cohorts.
Apoyo y experiencia profesional40h de apoyo • 30 ECTS de experiencia
Consolidación y aplicación profesional
El programa incluye apoyo estructurado y experiencia profesional para que los conocimientos se consoliden y se apliquen.
40h
Support Sessions
Reviewing course topics, answering student questions, re-explaining harder notions and preparing for examinations.
4 to 6 months30 ECTS
Integrated Professional Experience
Internship, employment or contracting experience validated through DSTI’s standard evaluation procedures.
05 — Certificaciones profesionales
Certificaciones profesionales con señales de empleabilidad.
Los estudiantes de MSc Data deben validar la certificación Neo4j. Una segunda certificación aprobada es altamente recomendable y otorga la distinción “with Honours” a los egresados.
Regla MSc Data
Neo4j es obligatoria. Las certificaciones del programa se preparan dentro de los cursos.
Para Data Analytics, DSTI destaca las certificaciones preparadas en CRM Data Management, Power BI reporting, SAS Visual Statistics y AWS cloud computing. Otras certificaciones reconocidas pueden aceptarse únicamente cuando el cuerpo docente y la Dirección de Estudios validan su nivel y relevancia.
ObligatoriaCertificación Neo4j para todos los estudiantes de MSc Data.
Distinción with HonoursUna segunda certificación aprobada otorga la distinción “with Honours” al egresado.
Alternativas validadasLas certificaciones alternativas se aceptan únicamente después de la validación del cuerpo docente y la Dirección de Estudios.
Esta lista no es una opción libre. Cada certificación alternativa debe ser relevante para la ruta de estudios y los objetivos profesionales del estudiante, y queda sujeta a validación por el cuerpo docente y la Dirección de Estudios.
Un solo programa DSTI, varias formas de integrarte a la clase.
DSTI fue construida alrededor de una enseñanza conectada. Los estudiantes pueden estudiar en campus, mediante acceso Live Streamed o por la ruta Online asíncrona cuando esta modalidad se adapte a su situación y elegibilidad.
El analytics se vuelve real cuando se usa en organizaciones.
El programa incluye experiencia profesional integrada. La ruta depende de dónde se encuentre el estudiante y de lo que tenga sentido profesionalmente.
Ruta principal
Realiza prácticas pertinentes donde tu proyecto profesional tenga sentido.
DSTI puede apoyar una experiencia profesional en Francia o en el extranjero, sujeta a validación académica y a las reglas del programa. La misión debe ser pertinente para los objetivos de aprendizaje.
Prácticas locales
Tu país o mercado profesional
Para muchos estudiantes Live Streamed o internacionales, la mejor ruta es una práctica pertinente en su mercado laboral local.
Alternativa estructurada
Opción CRCC Asia
Cuando sea pertinente, DSTI puede orientar a los estudiantes hacia una opción estructurada de prácticas internacionales con CRCC Asia.
Los estudiantes reciben orientación sobre CV, perfiles públicos, postulaciones y posicionamiento profesional.
Primeros pasos profesionales
Roles de analítica y BI
Los primeros roles típicos incluyen Data Analyst, Business Intelligence Analyst, Reporting Analyst o CRM / Data Management Analyst, según el perfil del estudiante y su proyecto de prácticas.
Ruta de progresión
Crecer con resultados comprobables
Con experiencia, los egresados pueden avanzar hacia Analytics Consultant, Analytics Engineer, Data Product Analyst o responsabilidades de analítica a nivel de equipo. El programa no sustituye la necesidad de resultados comprobables.
08 — Admisiones
Admisión selectiva, con una ruta abierta a perfiles variados.
El MSc in Data Analytics with AI está abierto a una gama más amplia de perfiles Bachelor que las rutas de ingeniería más especializadas, pero las matemáticas, el inglés y la preparación técnica siguen siendo importantes.
Elegibilidad
Bachelor o equivalente
Los postulantes deben contar con un Bachelor reconocido de 3 o 4 años, o equivalente. Se espera un nivel de matemáticas de la educación media superior o equivalente.
Examen de ingreso
Se usa cuando ayuda
A los postulantes con perfiles menos técnicos se les puede pedir presentar el examen de ingreso en línea de DSTI en matemáticas e IT.
Inglés
B2 mínimo
Los cursos se imparten en inglés. Se puede requerir IELTS 6.0, Duolingo 110 o evidencia equivalente.
Requisitos IT
Laptop Windows PC
Los estudiantes deben contar con una laptop Windows PC con al menos 16GB de RAM, capaz de ejecutar la versión más reciente de Windows.
Entrada directa a Año 2 +
Los postulantes que hayan completado, o estén terminando, ya sea el primer año de un programa de nivel Master en la misma área o un Bachelor de cuatro años en la misma área, pueden solicitar entrada directa a Año 2. La Dirección de Estudios decide la admisión después de una revisión académica específica.
Exámenes comunes requeridos: Applied Mathematics; Foundations of Statistical Analysis — Part 1; Data Wrangling with SQL. Examen(es) adicional(es) del programa: Analysis & Design of Information Systems.
Analysis & Design of Information Systems
Los exámenes se presentan en línea en DSTI Learn, con supervisión por visión computarizada y Safe Exam Browser, dentro de los 30 días posteriores a la postulación.
Se requiere una cuota suplementaria de examen de 50 €, que se acredita a la colegiatura en caso de admisión. La Dirección de Estudios considera a los postulantes que alcanzan la calificación mínima aprobatoria de DSTI, 60%.
Estudiantes UE & Live Streamed: 31 de julio de 2026
Inducción: 2 de octubre de 2026
Inicio de clases: 5 de octubre de 2026
Primavera 2027
Ingreso en marzo
Estudiantes internacionales & Live Streamed: 22 de enero de 2027
Estudiantes UE: 12 de marzo de 2027
Inducción: 25 de marzo de 2027
Inicio de clases: 26 de marzo de 2027
¿Data Analytics with AI es la ruta adecuada para ti?
Si dudas entre Data Analytics, Data Engineering for AI y Data Science & AI, la pregunta clave es tu centro de gravedad: decisión e implementación, plataformas y pipelines, o modelización y sistemas de IA.