Teaching


Didactic material

Since the academic year 2018-19, I'm the main teacher for a course on Multithreading Operating Systems, at Master level. This course covers several aspects of programming with multiple devices, from hardware to software level. While putting all these aspects together in the attempt to give to my students a main line where the pieces of the big puzzle are introduced one per time, I found out that slides were not really necessary for this course. Naturally, many drawings are necessary to explain the several introduced concepts, but they can be drawn by hand on the blackboard. The rest, it's a lot a text, a lot of explanations, which I would have not written in my slides anyway.
@(my students) Sorry guys, the only way to really know what is the course about is to come to the lectures!



Slides that I prepared for previous classes that I have given are available for download.

  1. Bash Scripting.
    This lecture introduces Bash scripting. It starts with a presentation of Bash as a intepreted programming language, and it continues with an overview of commands and some scripts for interacting with the file system. Many simple examples are provided, and attention is also given to the efficiency of the proposed implementations. Among the others, commands such as "bc" and "awk" are presented.

  2. Algorithms in Bioinformatics.
    The main focus of this short lecture is on the Molecular Distance Geometry Problem (MDGP, see my research page) and on a new approach for its discretization. The discretization allows us to solve the problem by employing a branch-and-prune algorithm. However, particular assumptions, that are strongly based on the order on which the atoms of a molecule are considered, need to be satisfied for performing the discretization ...

  3. Algorithmics and C basis.
    This is a quick introduction to algorithmics, with some basic examples in C programming language. Some more advanced concepts, such as the procedural programming, the pointers in C and software libraries, are also mentioned.

  4. C++ in 90 minutes.
    A quick introduction to the C++ programming language.

  5. Notions of Numerical Analysis.
    This lecture gives some quick notions of Numerical Analysis. It includes short discussions about linear systems, the problem of finding roots of real-valued functions, interpolation, numerical integration and optimization.

  6. Data Mining and Clustering.
    This lecture was given at the École Polytechnique (Palaiseau) in 2009. It's a quick introduction to data mining, where the main focus is on clustering techniques. Part of the lecture is devoted to the so-called Proogle project, a sort of Google for projects, that I used as an excuse for presenting various clustering problems, that are necessary for the development of the considered project.



The complete list of courses that I'm giving in the current academic year can be found in my cv. For the list of courses that I have given in the past, please refer to this page.


Back Home