Our teaching is closely related to our research and both are based on our vision on Computational Intelligence. The link between research and teaching is represented by the motivational scenarios for our main research threads concerning parameter setting in evolutionary algorithms, embodied evolution in robot swarms, and collective adaptation in populations of humans, smart devices, and robots. These scenarios provide inspiration for examples discussed during our classes and are used to define Master projects.

The CI staff is responsible for seven courses shown below.

Bachelor courses

  • Heuristics. During this course, students face a “real-life” situation: a problem is given without any hint regarding the applicable problem-solving method. Student teams of 3 find or design an appropriate algorithm, implement it, and report on the obtained results.
  • Machine learning is the study of how to build computer systems that learn from experience. It is a very active subfield of Artificial Intelligence that intersects with statistics, cognitive science, information theory, and probability theory, among others. Over the last fifteen years, Machine Learning has gained immense importance for the design of search engines, robots, and sensor systems, and for the processing of large scientific data sets. This course presents the dominant concepts of machine learning methods including some theoretical background. We’ll cover established machine learning techniques such as Decision Trees, Neural Networks, Bayesian Learning, Instance-based Learning and Support Vector Machines as well as some statistical techniques to assess and validate machine learning results.
  • Collective Intelligence studies complex systems that spontaneously exhibit organised behaviour at the system level. This organised behaviour arises (emerges) from the interactions between many relatively simple components. There are numerous examples of such systems in nature and society, ranging from bird swarms and insect colonies to economy and social behaviour in people. In this course, students will learn to analyse a number of self-organising systems as well as apply algorithms inspired by these systems.

Master courses

  • Evolutionary Computing concerns computational methods based on Darwinian principles of evolution. It illustrates the usage of such methods as problem solvers and as simulation, respectively modelling tools. Students gain hands-on experience in performing experiments through a compulsory programming assignment.
  • Data Mining Techniques. The term “Big Data” is omnipresent nowadays. Data Mining Techniques are essential to make sense out of large datasets. The aim of the course is that students acquire data mining knowledge and skills that they can apply in a business environment. How the aims are to be achieved: Students will acquire knowledge and skills mainly through the following: an overview of the most common data mining algorithms and techniques (in lectures), a survey of typical and interesting data mining applications, and practical assignments to gain “hands-on” experience. The application of skills in a business environment will be simulated through various assignments of the course.
  • Computational Intelligence can be positioned as the research area that follows a bottom-up approach to developing systems that exhibit intelligent behaviour in complex environments.Typically, sub-symbolic and nature-inspired methods are adopted that tolerate incomplete, imprecise and uncertain knowledge. This course covers nature-inspired techniques such as neural networks, evolutionary algorithms, and swarm intelligence as well as fuzzy systems. Special attention is paid to using such techniques for making autonomous and adaptive machines. N.B. This course is hosted by the UvA as part of the joint VU-UvA AI Masters.
  • Machine Learning for the Quantified Self. The quantified-self refers to large-scale data collection of a user’s behavior and context via a range of sensory devices, including smartphones, smartwatches, ambient sensors, etc. These measurements contain a wealth of information that can be extracted by means of machine learning techniques, for instance for the purpose of predictive modeling. In addition, machine learning techniques can be a driver for adaptive systems to support users in a personalized way based on the aforementioned measurements. The type of data does, however, require specialized machine learning techniques to fully exploit the information contained in the data. Examples of challenges include the temporal nature of the data, the variety in the type of data, the different granularity of various sensors, noise, etcetera.