## Teaching

I taught the following subjects at INSA Toulouse, Université de Toulouse, from September 2016 to August 2019:

### - Algorithms and Programming (1st & 2nd year Computer Science)

The objective of this course is to build and formalize complex algorithms through mastering the specification and development of sub-routines. Among acquired skills, students learn how to write classical algorithms (such as searching in and sorting arrays), analyze problems in a recursive fashion and handle dynamic structures using pointers. The programming language is Ada.

### - C programming (3rd year Computer Science)

### - Networks programming (3rd year Computer Science)

### - Databases and Relational Algebra (3rd year Computer Science)

### - Object-Oriented Programming (3rd year Computer Science)

### - Concurrent Systems Modeling (4th year Distributed Systems & Networks)

This course familiarizes the students with concurrency and provides mathematical definitions of formalisms for modeling concurrent systems, namely communicating automata and Petri nets. Students learn how to model in these formalisms and analyze the resulting models using model-checking techniques. The modeling and verification tools for lab training are TINA and UPPAAL.