Teaching

I have worked as a contractual assistant professor at INP SIGMA Clermont-Ferrand. This engineering school offers training in Chemistry, Industrial Engineering, Process Engineering, Materials, Mechanics, Robotics, and Structures.  In the mechanics and robotics specialization, which is mostly taught in English, I was responsible for graduate students' courses (lectures, tutorials, and lab works) related to computer tools for robotic programming.

Machine Learning

This course introduces the main concepts of machine learning and covers some of the most widely used machine learning techniques.  With the increasing amount of data being generated and made available for analysis, machine learning has made tremendous progress in recent years, with a strong impact in many application areas: speech recognition and machine translation, recommendations, healthcare, price analysis, computer vision, robotics, driverless cars. This course is the result of the recent policy of INP SIGMA to expand their AI training offer. In detail, it consists of seven lectures and seven tutorials, addressing, among others, linear regression, supervised/unsupervised learning, and DNN/CNN. This lecture involves the use of the Python language in the Kaggle environment with tools such as Pandas, Scikit-learn, and Pytorch.

Reinforcement Learning for Robotics

As an extension of the Machine Learning course,  this course introduces the basics of Reinforcement Learning (RL) with a strong focus on applications for robotics. This course will introduce both the theoretical and application aspects of policy gradient, actor-critic, Q-learning and DQN. This course is divided into six lectures, six tutorials, and two labworks. Given the focus on robotic applications,  these tutorials and labworks validate the theoretical concepts of RL, using ROS, Gazebo, and Gym OpenAI tools.

Cyber-Physical Systems

This course introduces the challenges of new communication tools in integrated design. The knowledge introduced is very broad and inculcates a general culture in the field of information systems and real-time animations. Therefore, this course introduces different theoretical and practical notions of cognition in a first step. Then, virtual and mixed/augmented realities are discussed and validated on 3D modeling software. Finally, the theoretical and practical aspects of digitization are validated through Unity.

Real-Time Systems

Real-time systems are concerned with designing the behavior of a system so that it is constrained by the evolution of the physical process to which it is connected. With today's industrial needs for reliable and predictable systems, real-time features are being exploited in many areas such as the control of robotic arms, video games, or the ABS system in a car. This course first introduces a high-level programming language, C++, and the concept of object-oriented programming. The second part of this course focuses on multitasking synchronization and the different designs for sharing and optimizing a common resource between different processes. This course is divided into three lectures, four tutorials, and three lab work.

Integrated Design and Virtual Reality

Real-time systems are concerned with designing the behavior of a system so that it is constrained by the evolution of the physical process to which it is connected. With today's industrial needs for reliable and predictable systems, real-time features are being exploited in many areas such as the control of robotic arms, video games, or the ABS system in a car. This course first introduces a high-level programming language, C++, and the concept of object-oriented programming. The second part of this course focuses on multitasking synchronization and the different designs for sharing and optimizing a common resource between different processes. This course is divided into three lectures, four tutorials, and three lab work.