Jump to content

ADA511 Data Science and data-driven engineering

Course description for academic year 2024/2025

Contents and structure

This course will teach you the science underlying Machine Learning and Artificial Intelligence.

In particular you will learn the constraints that must be satisfied by the architecture and training procedure of any machine-learning algorithm, in order that the algorithm give optimal and self-consistent results. No technical knowledge of machine-learning algorithms and techniques is necessary; the course will give you a crash course on these.

More generally you will learn the basic rules that must govern an artificial-intelligence agent in order that its behaviour be rational, logical, and optimal in making decisions. You will also get a glimpse of game theory, strategies, and representation of knowledge bases.

You will learn how to build, at least in principle, an "optimal predictor machine", which is the unbeatable algorithm having the maximal possible performance for a given task. You will see how present-day machine-learning algorithms try to approximate, in different ways, this optimal machine. And together we will explore how new future technologies could be used to build brand-new algorithms that approximate the optimal one even better.

You will yourself build the code of a simple optimal-performing machine, use it on simple datasets, and measure and see with your own eyes its improved performance with respect to popular machine-learning algorithms such as neural networks and random forests. You will also have the possibility of building more complex optimal-performing machines in a personalized project.

An intuitive way of understanding the course is this: Think of the difference between the knowledge possessed by an automotive engineer, as opposed to the knowledge possessed by a car mechanic (although they have knowledge in common, of course). In this course you will acquire the knowledge to become a "data engineer" as opposed to a "data mechanic".

Learning Outcome

Knowledge and general competency:

Upon finishing the course you will know:

  • The basic rules and formula that are common to all machine-learning algorithms.
  • The metrics and methods used to evaluate and compare machine-learning algorithms, and which is the appropriate metric depending on the situation.
  • The basis of knowledge representation for an artificial-intelligence agent.
  • The basic framework for inference and decision-making.


Upon finishing the course you will be able to:

  • Exploit new technologies to build the machine-learning algorithms and artificial-intelligence agents of the future, possibly very unlike present-day ones.
  • Improve existing machine-learning algorithms.
  • Understand and calculate the absolute performance limits of existing machine-learning algorithms.
  • Explain how machine-learning algorithms work the way they do.
  • Understand, prevent, correct biases and deficiencies in the data used to build these algorithms.
  • Frame and analyse prediction problems and decision problems.

Entry requirements


Recommended previous knowledge

Proficiency in programming with R or python is an advantage but not a requirement.

Proficiency in solving algebraic equations, performing matrix multiplication, basics of integration. These mathematical requirements are necessary to build concrete code to be showcased.

Teaching methods

Lectures, case studies, group presentations and group supervision related to course project work, guest lectures from specialists.

Compulsory learning activities

One obligatory assignment. In order to take the examination, the assignment must be approved.


1. Group project work with final report, counts for 50% of the final grade

2. Oral examination based on the final report, counts for 50% of the final grade.

Both parts must be passed to obtain a final grade.

Grade scale A-F, where F is fail.

Examination support material

All support materials are permitted.

More about examination support material