He teaches two courses that focus on the design and the analysis of large scale distributed systems:
- Distributed systems and cloud computing provides a comprehensive view on recent topics and trends in distributed systems and cloud computing. The course features several laboratory sessions on Hadoop and MapReduce.
- Algorithm Design provides a sound foundation concerning the design and analysis of algorithms, including approximation and randomization techniques.
AlgoDesign / Spring 2014 - Applied Algorithm Design
- The goals of this course are 1) to survey the foundations of the design and analysis of algorithms; 2) to provide a practical understanding of complexity theory and algorithmics; 3) to provide an in-depth understanding of selected problems at theforefront of research explorations in the design and analysis of algorithms.
- Most of the excercises and examples are drawn from problems related to networking and distributed systems, such as peer-to-peer systems. More traditional cases are also covered in the Lectures.
Clouds / Spring 2014 - Distributed Systems and Cloud Computing
- The goal of this course is to provide a comprehensive view on recent topics and trends in distributed systems and cloud computing.
- We will discuss the software techniques employed to construct and program reliable, highly-scalable systems.
- We will also cover architecture design of modern datacenters and virtualization techniques that constitute a central topic of the cloud computing paradigm.
- The course is complemented by a number of lab sessions to get hands-on experience with Hadoop and the design of scalable algorithms with MapReduce.
- Best Student Paper Award in the Workshop on Optimization in Wireless Networks (WiOpt) March 3-5,2003, Sophia Antipolis for the paper « Game Theoretical Analysis of Cooperation Enforcement in MANET »