The following courses are taught by members of the Applied Geometric Algorithms group in the academic year 2017-2018.

`2IL50`

Data Structures (Q1)

*Lecturer: Ignaz Rutter*

`2IL50`

Data Structures (Q3)

*Lecturers: Bettina Speckmann and Ignaz Rutter*

There are many aspects to the study of data structures, and the algorithms that operate upon them. In this course, you will learn the basic skills and knowledge to develop efficient algorithms to solve computational problems and to make informed choices between different solutions for the same problem.`2IMG15`

Algorithms for Geographic Data

*Lecturers: Kevin Buchin and Wouter Meulemans*

A significant part of today's data is geographic, has a geographic component (is geo-referenced), or benefits from geographic interpretation. To analyze these data requires advanced algorithmic tools. This course takes a data-driven perspective on algorithm design for geographic data.`2IMG00`

Seminar Applied Geometric Algorithms

*Lecturer: Irina Kostitsyna*

This seminar focuses on one specific area in the field of applied algorithms, namely graph drawing. Graphs are widely used to represent information that can be modeled as objects and connections between those objects. This seminar covers basic graph drawing concepts and algorithms.`2IPH0`

Declarative programming

*Lecturers: Jaap van der Woude and Arthur van Goethem*

The goal of this course is to acqaint students with the declarative programming paradigm, mainly through pure and lazy functional programming with leading roles for types, generalization and calculation. The course is to have theoretical and practical elements of which the latter will be using Haskell.`2IS80`

Fundamentals of Informatics

*Lecturers: Arthur van Goethem, Bas Luttik, and Tom Verhoeff*

Informatics (also known as Computer Science) has become a fourth ‘great scientific domain’, next to the natural, life, and social sciences. Especially within engineering, Informatics plays an increasingly significant role. This course is about the concepts, ideas, methods, and results that are fundamental to informatics as a science. An example of such a result is the discovery of problems that cannot be solved by computers, and that it will never be possible to do so.`JBI020`

Foundations of Computing

*Lecturer: Wouter Meulemans*

Many aspects of Data Science rely on computers to do the heavy lifting for handling data, computing results, running simulations, etc. To effectively use the computer as a tool, this course provides the fundamental concepts to reason about what computers can and cannot compute. For certain problems exact solutions can be computed by algorithms, and we need methods to establish that an algorithm is correct, and to analyze its efficiency.`2IT80`

Introduction to Discrete Structures

*Lecturers: Ignaz Rutter and Arthur van Goethem*

In this course we will cover basic discrete mathematical structures that occur in many contexts in computer science. You will learn the basic skills and knowledge to formally reason about these structures. Among others we will cover relations and ordering, counting arguments, and graphs and trees.