#### None

### (2019-2020)

#### Data-mining and visualisation (Ynov - Data Scientist Formation)

Course taught to graduate students (4th and 5th year) offering them a hands-on approach on data-mining and visual analytics.

Notions:

- Introduction to the basics of pandas, matplotlib and scikit-learn.
- Basics of data-mining using python (requests, lxml, json).
- Modelling mined data into graphs to perform network analysis (Tulip).

#### Imperative Programming (University of Bordeaux - INP - PG101)

Course taught to undergraduate students (3rd year) introducing them to or harmonising their existing knowledge on imperative programming and algorithmic.

Notions:

- Use of basic algorithmic language and introduction to C.
- Introduction of types, vectors, structures and pointers.

### (2018-2019)

#### Algorithmic and Programming: Project 1 (University of Bordeaux - INP - PR103)

A small project for groups of up to 3 undergraduate students (3rd year) aiming to apply the teachings from PG101.

Notions:

- Advanced use of structures and pointers.
- Introduction to basic text analysis and generation using NLTK.

### (2015-2016)

#### Low-level programming and architecture (University of Bordeaux - IUT - M2101)

Basic course (1st year) taught to undergraduate students introducing them to low-level programming and low-level operations.

Notions:

- SIC/RISC architecture; PPC assembler and low-level programming; Gdb debugging.

#### Algorithmic and Programming: Initiation to Object-Oriented Programming (University of Bordeaux - IUT - M2103)

Basic course (1st year) taught to undergraduate students introducing them to OO programming and algorithmic. Follow-up of M1103.

Notions:

- Classes/objects: constructor, destructor, methods, operators, operator/method/function overload.
- Standard Template Library; Inheritance; Polymorphism; Template classes.

### (2014-2015)

#### Algorithmic and Programming 2 (University of Bordeaux - IUT - M1103)

Basic course (1st year) taught to undergraduate students introducing them to programming and algorithmic. Follow-up of M1102.

Notions:

- Matrices; Text file and picture manipulation; Recursion; Search and sort algorithms; Pointers; Member functions.
- Use of algorithmic language and C++; Furtherment of program quality and code testing.

#### Algorithmic and Programming 2 – Project (University of Bordeaux - IUT - M1103)

An application of the teachings introduced in parallel to M1103 through a small project for groups of up to 3 students.

### (2013-2014)

#### Algorithmic and Programming 1 (University of Bordeaux - IUT - M1102)

Basic course (1st year) taught to undergraduate students introducing them to programming and algorithmic.

Notions:

- Fundamental algorithmic structures; Introduction of functions, methods and parameters.
- Use of basic algorithmic language and introduction to C++; Introduction of program quality and code testing.

### (2012-2013)

#### Algorithmic (UQAC - DIM - 8INF433)

Advanced course (2nd-3rd year) taught to undergraduate students introducing the notion of algorithmic complexity. Within the course, several solutions are studied to analyse the efficiency of different algorithms and give keys to implement them effectively.

Notions:

- Analysis: Time and spatial complexity, asymptotic analysis (big O), recurrence relation and difference equations.
- Conception: greedy algorithms, divide and conquer methods, dynamic programming, probabilistic and parallel algorithms.
- Hard problems and decidability; NP-complexity.