Q1
2IBA10 Algorithmic Aspects of Game Theory2IHA10 Formal Algorithm Analysis for PremasterIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2IMA10 Advanced Algorithms2IMA25 Exact Algorithms for NP-hard Problems2IMA50 Algorithms for Collective Decision Making2IRR60 Capstone Heuristic Algorithms
Q2
2IBA00 Algorithms EngineeringThe field of "algorithms engineering" considers how to implement algorithms and data structures effectively in practice, how to experimentally investigate their performance, and how this performance is influenced by modern computer architectures. In this course you will learn the principles of how to implement algorithms and data structures without significant performance defects.
2IMA15 Geometric AlgorithmsIn 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.
2IMA35 Massively Parallel Algorithms2IT80 Discrete StructuresIn 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.
JBI026 Discrete Mathematics(Exam-only this year.)
Q3
2IL50 Data StructuresThere 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.
2ILC0 Algorithms2IMA20 Algorithms for GeovisualizationA 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.
Q4
2IMA00 Seminar Algorithms2IMA30 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
JBI045 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
Q1
2IHA10 Formal Algorithm Analysis for PremasterIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2ILC0 Algorithms2IMA10 Advanced Algorithms2IMA50 Algorithms for Collective Decision Making
Q2
2IMA15 Geometric AlgorithmsIn 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.
2IMA35 Massively Parallel Algorithms2IT80 Discrete StructuresIn 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.
JBI026 Discrete MathematicsMany 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.
Q3
2IL50 Data StructuresThere 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.
2ILC0 Algorithms2IMA20 Algorithms for GeovisualizationA 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.
2IMA25 Exact Algorithms for NP-hard Problems
Q4
2IBA00 Algorithms EngineeringThe field of "algorithms engineering" considers how to implement algorithms and data structures effectively in practice, how to experimentally investigate their performance, and how this performance is influenced by modern computer architectures. In this course you will learn the principles of how to implement algorithms and data structures without significant performance defects.
2ILH0 Heuristic Algorithms2IMA00 Seminar Algorithms2IMA30 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
JBI045 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
Q1
2IHA10 Formal Algorithm Analysis for PremasterIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2ILC0 Algorithms2IMA10 Advanced Algorithms
Q2
2IMA15 Geometric AlgorithmsIn 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.
2IMA35 Massively Parallel Algorithms2IT80 Discrete StructuresIn 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.
JBI026 Discrete MathematicsMany 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.
Q3
2IL50 Data StructuresThere 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.
2IMA25 Exact Algorithms for NP-hard Problems2IMA20 Algorithms for GeovisualizationA 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.
Q4
2ILH0 Heuristic Algorithms2IMA00 Seminar Algorithms2IMA30 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
JBI045 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
Q1
2IHA10 Algorithms and Data StructuresIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2ILC0 Algorithms2IMA10 Advanced Algorithms2IMA20 Algorithms for Geographic DataA 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.
Q2
2IMA15 Geometric AlgorithmsIn 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.
2IMA35 Massively Parallel Algorithms2IT80 Discrete StructuresIn 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.
JBI026 Discrete MathematicsMany 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.
Q3
2IL50 Data StructuresThere 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.
2IMA25 Exact Algorithms for NP-hard Problems
Q4
2ILH0 Heuristic Algorithms2IMA00 Seminar Algorithms2IMA30 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
JBI040 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
Q1
2IHA10 Algorithms and Data StructuresIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2ILC0 Algorithms2IMA10 Advanced Algorithms2IMG15 Algorithms for Geographic DataA 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.
Q2
2IMA15 Geometric AlgorithmsIn 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.
2IMA35 Massively Parallel Algorithms2IMG00 Seminar Applied Geometric AlgorithmsThis seminar focuses on one specific area in the field of applied algorithms. This year, we will examine selected areas of robotics and distributed systems, including such fields as multi-robot systems, programmable matter, and self-assembly. These new and emerging areas have sparked the interest of researchers in the algorithms community. During the course of this seminar the students will learn about recent developments in design and analysis of algorithms in application to these areas.
2IT80 Introduction to Discrete StructuresIn 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.
JBI020 Foundations of ComputingMany 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.
Q3
2IL50 Data StructuresThere 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.
2IMA25 Exact Algorithms for NP-hard ProblemsJBP031 Data Structures and Algorithms (JADS)
(Q3 / Q4)
Q4
2ILH0 Heuristic Algorithms2ILX0 Tangible Computing2IMA00 Seminar Algorithms2IMG10 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
JBI040 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
Q1
2IHA10 Algorithms and Data Structures
(Q1)
In this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2ILC0 Algorithms
(Q1)
2IMA10 Advanced Algorithms
(Q1)
2IMG15 Algorithms for Geographic Data
(Q1)
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.
2IRS0 Bachelor Research Project
(Q1)
Q2
2IMA15 Geometric Algorithms
(Q2)
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.
2IMG00 Seminar Applied Geometric Algorithms
(Q2)
This seminar focuses on one specific area in the field of applied algorithms. This year, we will examine selected areas of robotics and distributed systems, including such fields as multi-robot systems, programmable matter, and self-assembly. These new and emerging areas have sparked the interest of researchers in the algorithms community. During the course of this seminar the students will learn about recent developments in design and analysis of algorithms in application to these areas.
2IT80 Introduction to Discrete Structures
(Q2)
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.
JBI020 Foundations of Computing
(Q2)
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.
Q3
2IL50 Data Structures
(Q3)
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.
2IMA25 Exact Algorithms for NP-hard Problems
(Q3)
JBP030-B-6 Data Structures and Algorithms
(Q3 / Q4)
Q4
2ILH0 Heuristic Algorithms
(Q4)
2ILX0 Tangible Computing
(Q4)
2IMA00 Seminar Algorithms
(Q4)
2IMG10 Topological Data Analysis
(Q4)
Topological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
JBI040 Algorithmic Aspects of Data Analysis
(Q4)
This course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
2IHA10
Algorithms and Data StructuresIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2IL50 Data StructuresThere 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.
2IMA15
Geometric AlgorithmsIn 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.
2IMG00 Seminar Applied Geometric AlgorithmsThis seminar focuses on one specific area in the field of applied algorithms. This year, we will examine selected areas of robotics and distributed systems, including such fields as multi-robot systems, programmable matter, and self-assembly. These new and emerging areas have sparked the interest of researchers in the algorithms community. During the course of this seminar the students will learn about recent developments in design and analysis of algorithms in application to these areas.
2IMG10 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
2IMG15
Algorithms for Geographic DataA 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.
2IT80 Introduction to Discrete StructuresIn 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.
JBI020 Foundations of ComputingMany 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.
JBI040 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
2IL50
Data Structures (Q1)2IL50
Data Structures (Q3)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.
2IMA15
Geometric AlgorithmsIn 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.
2IMG00
Seminar Applied Geometric AlgorithmsThis seminar focuses on one specific area in the field of applied algorithms. This year, we will examine selected areas of robotics and distributed systems, including such fields as multi-robot systems, programmable matter, and self-assembly. These new and emerging areas have sparked the interest of researchers in the algorithms community. During the course of this seminar the students will learn about recent developments in design and analysis of algorithms in application to these areas.
2IMG10 Topological Data AnalysisTopological data analysis is an approach to the analysis of datasets using techniques from topology. One of the key messages around topological data analysis is that data has shape and the shape matters. Extraction of information from datasets that are high-dimensional, incomplete and noisy is generally challenging. Topological data analysis provides a general framework to analyze such data in a manner that is insensitive to the particular metric and provides dimension reduction and robustness to noise. The application of topological techniques to traditional data analysis, which before has mostly developed on a statistical setting, has opened up new opportunities. This course is intended to cover the basics of computational topology that underlie such techniques along with the developments of generic techniques for various topology-centered problems.
2IMG15
Algorithms for Geographic DataA 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.
2IT80
Introduction to Discrete StructuresIn 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.
JBI020 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics – how can we define what a good clustering looks like – and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
2IL50
Data Structures (Q1)2IL50
Data Structures (Q3)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 DataA 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 AlgorithmsThis seminar focuses on one specific area in the field of applied algorithms. This year, we will examine selected areas of robotics and distributed systems, including such fields as multi-robot systems, programmable matter, and self-assembly. These new and emerging areas have sparked the interest of researchers in the algorithms community. During the course of this seminar the students will learn about recent developments in design and analysis of algorithms in application to these areas.
2IPH0 Declarative ProgrammingThe goal of this course is to acquaint students with the declarative programming paradigm, mainly through pure and lazy functional programming with leading roles for types, generalization and calculation. The course has theoretical and practical elements, the latter of which are using Haskell.
2IS80
Fundamentals of InformaticsInformatics (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 ComputingMany 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 StructuresIn 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.
2IL50
Data Structures (Q3)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.
2IMA20
Algorithms for Geographic DataA 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 AlgorithmsThis seminar focuses on one specific area in the field of applied algorithms. This year, we will examine selected areas of robotics and distributed systems, including such fields as multi-robot systems, programmable matter, and self-assembly. These new and emerging areas have sparked the interest of researchers in the algorithms community. During the course of this seminar the students will learn about recent developments in design and analysis of algorithms in application to these areas.
2IPH0 Declarative programmingThe 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 InformaticsInformatics (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 ComputingSolving problems with computers involves many different aspects: one needs to understand how computers compute on a fundamental level. 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. Other problems are not optimally solvable by computational procedures. Here powerful data analysis and optimization methods provide a means to obtain meaningful solutions.