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.
AML / Spring 2016 - Algorithmic Machine Learning
This course aims at providing a solid algorithmic foundation to the design of scalable machine learning algorithms, with particular emphasis on the MapReduce programming model. Students will get familiar with a wide range of topics, including theory and problems of practical interest, such as finding similar items, frequent itemset mining, clustering and supervised learning.
In addition, this course will cover algorithms for mining data streams, and elements of recommender systems.
The expected learning outcomes for students following this course are :
- Learn and apply techniques to design scalable machine learning algorithms, including supervised and unsupervised learning methods and streaming, on-line algorithms
- Learn the Apache Spark programming model, and use this model to design state-of-the-art parallel machine learning algorithms
- Acquire familiarity with existing machine learning libraries, such as ScikitLearn and Pandas, and use such tools to design data processing pipelines
- Apply machine learning algorithms in a variety of practical use cases, using real-life datasets
Students will develop the following skill set :
- Concieve software systems and applications to explore, analyze and exploit large volume of data
- Critical thinking and statistical validation of data analysis results
Understand the steps required to move from prototypes to production systems
Clouds / Fall 2015 - 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 »