Courses
Related tracks: ST, DST
Related courses:
BSc CSE

Traditionally interaction with computer systems moved from textbased (e.g., terminals) to graphical user interfaces (GUI). These evolved to a wider range of platforms than just desktop computers, to include computer kiosks, tablets, and smart phones. As technology systems (e.g., expert systems, recommender systems) increase in complexity, a standard graphical user interface (GUI) is often not sufficient to harness their power. This course will therefore consider developments in intelligent adaptive interfaces, but also alternative modalities for interaction such as Voice user interfaces (VUI), augmented reality (AR), and embodied agents.
This course will cover four aspects of HCI systems:
a) Identifying functional and nonfunctional requirements.
b) Design of interactive and adaptive systems.
c) Prototyping of these systems.
d) Usercentered Evaluation of these systems. 
The goal of the course is to acquaint students with the basic Machine Learning concepts and algorithms. Specifically, the course will cover parametric and nonparametric density estimation, linear and nonlinear classification, unsupervised learning including clustering and dimensionality reduction, performance evaluation of predictive algorithms, ethical issues in machine learning.

Dit vak geeft een introductie in een aantal technieken uit de kunstmatige intelligentie. De nadruk ligt daarbij op zelflerende en zelforganiserende systemen. We beginnen met de vraag 'wat is (kunstmatige) intelligentie?' en beantwoorden deze vraag vervolgens aan hand van een aantal metaforen:
 Redeneervermogen: Expertsystemen gaan uit van een traditionele regelgebaseerde aanpak en staan het dichtst bij conventionele programmeertechnieken. Kansmodellen en fuzzy logic stellen ons in staat ook met onzekere, onvolledige en onnauwkeurige gegevens te redeneren.
 Hersenstructuur: Neurale netwerken leren automatisch aan hand van voorbeelden en kunnen overweg met fouten in de invoer en met invoer die zij niet eerder hebben gezien.
 Evolutie: Evolutietheorie geeft ons een algoritme dat oplossingen kan vinden in complexe, veranderende omgevingen.
 Gedrag in de natuur: Mieren, bijen en vogels dienen als inspiratie voor systemen die complexe problemen met eenvoudige regels kunnen oplossen. Artificial life stelt de vragen `wat is leven?' en `kan een computerpogramma leven?'

It is often useful or even essential to know if a certain statement is true, e.g. Pythagoras' famous a^2 + b^2 = c^2 theorem about rightangled triangles. Knowledge gathered from these statements or theorems can be broadly used to solve more complicated problems. This way of working, i.e., deriving more complex theorems from simpler ones, is useful in many fields, in particular also in computer science. An argument is a set of premises or assumptions, followed by a conclusion. To be certain of the truth of an argument, the conclusion has to be a logical consequence of the assumptions. To prove this, the conclusion is derived from the premisses. The derivation shows us that once all premises are true, the conclusion is true as well. The course Reasoning and Logic is about proving the logical validity of arguments. What is a valid argument? When is an argument logically valid and when is it not? How can we determine whether an argument is logically valid? How can we derive a logically valid conclusion from the premises? Or how can we prove that a conclusion is not a logical consequence of the premises? In this course we will first explain a number of basic proof techniques, such as proof by contradiction, proof by mathematical induction, proof by division into cases, and the use of invariants. The application of these techniques will be practiced by proving and rejecting simple mathematical theorems. These proof techniques can only lead to a valid argument when the formulation of the premises and the conclusion is sufficiently precise. To express statements precisely, multiple artificial languages exist, of which we will learn two: propositional calculus and predicate logic. For both languages we look at the syntax and semantics and study how to translate expressions from a natural language to the more exact languages. Furthermore we will look at how to establish the logical validity of an argument in both languages. Moreover, to be able to assign truth values to formulas in predicate logic and because of the importance of this subject in every exact science, in this course we will also pay attention to elementary set theory. Together, the course provides tools that have important applications across mathematics, computer science, philosophy, and beyond.

AI (Artificial Intelligence) techniques that are discussed in this course are knowledge representation and reasoning techniques, and multiagent technology. Students are taught how to develop a multiagent system that uses knowledge representation to reason about the environment in which the multiagent system operates. In the Project Multiagent systems following this course, students develop, based on the knowledge gained in this course, a team of intelligent agents that drive units in the realtime strategy game StarCraft.
Master Courses

Artificial Intelligence techniques for building cognitive agents, and decision making and support systems are presented. Techniques discussed include probabilistic reasoning, action selection and planning, Markov Decision Processes, reinforcement learning, and some other aspects of machine learning, as well as a variety of topics dealing with multiagent systems and strategic interactions.

Whether you are playing a game in virtual reality, driving a semiautonomous car, educating yourself in a MOOC, or harmonizing your health and lifestyle via a mobile app; nowadays intelligent networked information and communication technology is omnipresent. This course focuses on the design of humanaware intelligence into such environments, to support joint humantechnology performances that bring about positive human experiences (such as social robots that help activity coordinators guide healthpromoting games for people with dementia).

Behavior change support systems (BCCS) are computerbased systems that support individuals to form, alter or reinforce cognitions, attitudes or behaviors without using coercion or deception. They can serve individuals throughout the various stages of a change process, such as awareness developing, contemplation, action strategy development, development of new behaviors, and maintaining these new behaviors. Virtual healthcare coaches, negotiation support systems, and applications that provide individuals with personalize financial guidance are three examples of these systems. To establish, modify or maintain change BCCS can deploy computerized persuasive strategies (e.g. reducing effort to establish target behavior, or argumentation and reflection strategies), simulations (e.g. serious gaming, virtual reality), relational software agents (e.g. ePartners, virtual coaches), and personalization based on longitudinal user data. BCCS are found in many domains, including education, sales, negotiation, management, and particular in the health domain.

The course focuses on research methods for data science. It looks at underlying principles and concepts for data collection, analysis and data processing, as well as the use of tools to do this.

The core of social intelligence is our ability to understand and interpret social signals of a person we are communicating with is. Social intelligence is a facet of human intelligence that has been argued to be indispensable and perhaps the most important for success in life. Social Signal Processing (SSP), the new, emerging, domain aimed at understanding social interactions through machine analysis and production of nonverbal behavior. In this course you will learn how nextgeneration computing can make use of such social signals by giving it the ability to recognize and produce human social signals and social behaviors. Think about turn taking, politeness, disagreement, emotions, rapport. You will learn about relevant findings in social psychology, and you will learn computational techniques that allow systems to make use of social signals to become more effective and more efficient by being able to detect but also simulate (e.g. in virtual agents) blinks, smiles, crossed arms, laughter. Socially aware computing. These techniques can be used in robots, virtual agents, smart homes, crowd monitoring, etc.

Recapitulation of (un)supervised learning, classification, decision theory overfitting. Complexity, regularisation, and support vector classifiers. Regression, linear and kernel regression. Bayesian learning, graphical models. Clustering and mixture models, the EM algorithm. Feature selection and extraction, PCA. Design and analysis of ML experiments.

The course will treat a number of machine learning theories and techniques in detail and on an advanced level.
Possible topics :
 Learning theory
 Bayesian networks
 Online learning
 Rademacher complexity
 Markov decision processes
 Semisupervised learning
 Multiple instance learning
 Kernel methods
 Reinforcement learning
 Gaussian processes
 Active learning
 Causal reasoning and discovery

Decision making is at the centre of artificial intelligence. This course gives you practical skills on a solid theoretical base:
 Modelling realistic combinatorial optimisation problems involving multiple users, and designing systems to solve such problems.
 Emphasis on problem characteristics seen in decision problems in energy, logistics, and health sectors.
 Mathematicallygrounded techniques with computational feasibility: sequential decision making (reinforcement learning), algorithmic game theory, constraint programming.
Apply the skills you learn in this course by taking CS4210B: Intelligent Decision Making Project in quarter 4!

In this course we will look at a specific field of Artificial Intelligence and Machine Learning: Deep learning. Deep learning has shown remarkable success with large data sets and unstructured input data such as raw images/audio/text.
Topics include: feed forward networks, backpropagation, optimization, convolutional nets, recurrent nets, unsupervised methods.
The course will have lectures, a seminar and a lab practical: The lectures will be on generic topics, following the book; building the backbone.
 The seminar will have students read, critique, and present relevant deep learning research papers. You will have to read 2 papers per week, for 7 weeks (14 papers).
 The lab will have students apply and design their own (small) deep learning project.

This course explains the basic ideas of information theory and the correspondences between the elements of this theory and certain natural concepts of importance in a wide number of fields, such as transmission, storage, authoring and protection of data. On the basis of simple concepts from probabiliby calculus, models are developed for a discrete information source and a discrete communication channel. Further, the theoretical basics for developing source coding algorithms is provided, as well as the basics of optimal data transmission through a discrete communication channel.
The following topics will be covered: (Differential) Entropy, Relative Entropy and Mutual Information
 Asymptotic Equipartition Property
 Data Compression
 Channel Capacity
 Gaussian Channel
 RateDistortion Theory
 Network Information Theory