Natural Computing
Course infoSchedule
Course moduleNWI-IMC042
Credits (ECTS)6
CategoryMA (Master)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
PreviousNext 4
F.E. Buytenhuijs
Other course modules lecturer
M.B. Mihaylova, MSc
Other course modules lecturer
G. Schröder, MSc
Other course modules lecturer
dr. J.C. Textor
Other course modules lecturer
Contactperson for the course
dr. I.M.N. Wortel
Other course modules lecturer
Academic year2023
KW3-KW4  (29/01/2024 to 31/08/2024)
Starting block
Course mode
Registration using OSIRISYes
Course open to students from other facultiesYes
Waiting listNo
Placement procedure-

The main goals of this course are to introduce students to various algorithms in Natural Computing and show how they can be applied to various kinds of problems, notably in data science. Most importantly, students will develop the skills needed to apply such algorithms successfully in practice.

On completion of the course students should be able to:

  • Explain how the various algorithms work and why one would use them.
  • Develop, implement and assess methods based on natural computing.
  • Design an experiment using natural computing algorithms.
  • Perform simple simpulations of biological systems.
  • Visualize and present the outcome of such an experiment after applying natural computing techniques to a specific question and/or dataset.
  • Report on project progress and communicate choices and results.
  • Write a research report.

Many processes in the natural world somehow store, process, and/or transfer information – which makes nature a terrific source of inspiration for computing scientists. An obvious example is the brain, which was the main source of inspiration for the neural network models that have proven widely successful in the machine learning field. But in this course, we will see that there are many more processes that can be used as inspiration for “Natural Computing”, such as processes of evolution and natural phenomena of social interaction among organisms.

The aim of natural computing is to develop tools either for solving complex (optimization) problems, or for studying emerging properties of complex systems through simulations. Natural computing can be divided into three main branches:

  1. Computing inspired by nature: how can we use nature as source of inspiration to design new algorithms?

  2. Simulation of nature: a synthetic process aimed at creating emerging patterns, forms, behaviours, and organisms through evolution. In other words: if we can translate a natural process into an algorithm, can we then use that algorithm to learn about the natural process itself?

  3. Computing with natural materials: the use of natural materials to perform computation as substitute or supplement to classical computers.

This course deals with selected topics from the first two branches: computing inspired by nature, and simulation of nature.This course covers core Natural Computing and simulation approaches, like evolutionary algorithms, immunocomputing, swarm intelligence, and cellular automata. The students will learn to apply these methods to either learn about the dynamics of complex natural systems, or as general-purpose algorithms to tackle real-world problems.

Instructional Modes
  • Lecture
  • Self-study and homework assignments
  • Project-based learning
  • Presentation
The first half of the course will cover the basics of several algorithms (in lectures, tutorials, and homework assignments). In the second half of the course, students will design their own projects to study a method of their choice in more depth, tackling a real-world problem and/or answering a research question of interest.

Presumed foreknowledge
Students will need some familiarity with programming in order to implement and work with the covered algorithms. An example course where this covered is Imperative Programming, but other, similar courses would suffice as well.

Students should also be familiar with the basics of data visualization and analysis (for example as covered in the BSc course Data Analysis or an equivalent course).
Test information
Home assignments, flash talk presentations and project report in groups.

Required materials
Scientific papers and tutorials, slides from lectures.

Instructional modes

Home assignments, group work on a project, seminar presentations and reports.

Attendance MandatoryYes


Final grade
Test weight1
OpportunitiesBlock KW4, Block KW4