Geometric Algorithms (Coursera)

Offered by EIT Digital,
Geometric Algorithms (Coursera)

Course Information: In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study techniques and concepts needed for the design and analysis of geometric algorithms and data structures. Each technique and concept will be illustrated on the basis of a problem arising in one of the application areas mentioned above.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Goals:
At the end of this course participants should be able

  • to decide which algorithm or data structure to use in order to solve a given basic geometric problem,
  • to analyze new problems and come up with their own efficient solutions using concepts and techniques from the course.

Prerequisites:
In order to successfully take this course, you should already have a basic knowledge of algorithms and mathematics. Here's a short list of what you are supposed to know:

  • O-notation, Ω-notation, Θ-notation; how to analyze algorithms
  • Basic calculus: manipulating summations, solving recurrences, working with logarithms, etc.
  • Basic probability theory: events, probability distributions, random variables, expected values etc.
  • Basic data structures: linked lists, binary search trees, etc.
  • Graph terminology
  • Programming skills for practical assignments

Syllabus

WEEK 1
Plane Sweep Algorithms
In this module we will discuss an algorithm for line segment intersection that does not only depend on the input size, i.e. the number of line segments, but also on the output size, i.e. the number of intersections. This algorithm uses the Plane Sweep technique, which is applicable to many algorithmic problems in the Euclidean plane.

WEEK 2
Voronoi diagrams and Delaunay triangulations
In this module we will introduce the notions of Voronoi diagrams and Delaunay triangulations and its properties. Furthermore we will an algorithm for constructing Delaunay triangulations using the technique of randomized incremental construction. We will see how to analyze these types of algorithms.

WEEK 3
Orthogonal range searching
In this module we will introduce the problem of range searching. We will first look at the one dimensional case and later on generalize to higher dimensions. We will see two data structures that allow for range searching, namely KD Trees and Range Trees. We will compare them by looking at construction time, space usage and query time.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introducción a UML (Coursera) Coursera
Universidad de los Andes

Introducción a UML (Coursera)

Bienvenidos a este curso de introducción al Lenguaje de Modelado Unificado, o UML por su sigla en inglés. Este curso surge como respuesta a la necesidad de los ingenieros de software de desarrollar la habilidad de abstraer y representar en un modelo problemas o soluciones. Esta habilidad es especialmente importante en el mundo del software donde las tecnologías son tan cambiantes. Un modelo te provee una forma de comunicar y validar un entendimiento, independiente de la tecnología en la que construirás una solución.

Aug 3rd 2026
4 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Aug 10th 2026
5-12 Weeks
Machine Learning (Coursera) Coursera
Stanford University

Machine Learning (Coursera)

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems.

Jul 27th 2026
5-12 Weeks
Ethical Issues in Data Science (Coursera) Coursera
University of Colorado Boulder

Ethical Issues in Data Science (Coursera)

Computing applications involving large amounts of data – the domain of data science – impact the lives of most people in the U.S. and the world. These impacts include recommendations made to us by internet-based systems, information that is available about us online, techniques that are used for security and surveillance, data that is used in health care, and many more. In many cases, they are affected by techniques in artificial intelligence and machine learning.

Aug 3rd 2026
5-12 Weeks
Systems Thinking In Public Health (Coursera) Coursera
Johns Hopkins University

Systems Thinking In Public Health (Coursera)

This course provides an introduction to systems thinking and systems models in public health. Problems in public health and health policy tend to be complex with many actors, institutions and risk factors involved. If an outcome depends on many interacting and adaptive parts and actors the outcome cannot be analyzed or predicted with traditional statistical methods. Systems thinking is a core skill in public health and helps health policymakers build programs and policies that are aware of and prepared for unintended consequences.

Aug 10th 2026
4 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Aug 3rd 2026
4 Weeks
Introducción a la Minería de Datos (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la Minería de Datos (Coursera)

En este curso, aprenderás de manera gradual y práctica los conceptos básicos de Minería de Datos, junto a los algoritmos más utilizados hoy en día. Al finalizar el curso, serás capaz de entender la importancia de manejar la información y de explorar por ti mismo distintas bases de datos reales. Este curso es el primer paso para convertirte en un/a profesional con habilidades básicas de un científico de datos o Data Scientist, de manera tal que puedas abrirle la puerta al futuro.

Aug 10th 2026
5-12 Weeks
NLP Modelos y Algoritmos (Coursera) Coursera
Universidad Austral

NLP Modelos y Algoritmos (Coursera)

Este curso te brindará los conocimientos necesarios para la implementación de algoritmos de NLP. Mediante el uso de los últimos algoritmos más populares en NLP se procederá a dar solución a un conjunto de problemas propios del área. Para realizar este curso es necesario contar con conocimientos de programación de nivel básico a medio, deseablemente conocimiento básico del lenguaje Python y es recomendable conocer los Jupyter Notebooks en el entorno Anaconda.

Aug 3rd 2026
4 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Aug 10th 2026
4 Weeks
Approximation Algorithms Part II (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part II (Coursera)

This is the continuation of Approximation algorithms, Part 1. Here you will learn linear programming duality applied to the design of some approximation algorithms, and semidefinite programming applied to Maxcut. By taking the two parts of this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques.

Aug 3rd 2026
4 Weeks