Cybersecurity :
program & network exploitation: vulnerabilities, common attacks, security holes, hijacking, shellcode ...
countermeasures: tools, camouflage, buffer restrictions, payload smuggling ...
cryptography, encryption, ciphers, cracking ...
Model-based system engineering:
fundamentals of system engineering: standards and practices
model-based approaches: system analysis, architecture, gradual design, agility ...
SysML modeling language: approaches, modeling process, diagrams, differences with UML 2 ...
IoT & vehicular communications
Wireless sensor networks
Standards : IEEE 802.15.4, IPv6 and 6LoWPAN
Architectures, interoperability & protocols
Monitoring & control
Labs on Contiki on Zolertia RE-mote boards
V2X technologies and application
Standards: IEEE 802.11p, LTE-V, and 5G NR
Information dissemination ...
Microcontrollers
Interruptions
Timers & Timers Interrupts
ADC, DMA & UART
Control DC motors with encoder
FreeRTOS
CAN bus
Labs on STM32CubeIDE & Nucleo-L476RG
Real-time (see below)
Embedded Linux (see below)
Critical Embedded Software Design & Code Generation (see below)
Real-time systems (since 2015):
Scheduling theory;
Concurrent and real-time programming using the Ada language;
Labs on the RT-Preempt kernel running on ARM-Cortex based single board computers.
Embedded Linux (since 2015):
Linux kernel cross-compilation and patching;
Kernel modules development and configuration;
Advanced OS manipulations;
Labs on ARM-Cortex based single board computers.
Critical Embedded Software Design & Code Generation (since 2017):
Definition of reactive real-time systems,
Cyclic-executive synchronous approaches of design,
Synchronous programming language Esterel,
Design of some typical example of systems using the SCADE Suite toolset.
Formerly, I taught teachings around:
Mathematics for engineers (Spring 2016): Fourier analysis, Complex analysis, Graph theory.
System programming using the C language (Spring 2016): Process management, Inter-process communication and synchronization.
Between October 2007 an August 2011, I was Teaching Assistant (Moniteur MIES, ATER, ...) at Université de Franche-Comté, IUT Belfort-Montbéliard, and Université de Lorraine. I gave lectures for Bachelor students around the following topics:
Logic systems, Computer architecture, 8086 Assembler,
Operating systems (Unix, Debain), Shell commands and scripts,
Algorithms and data structures,
Databases, MySQL queries,
Networking and system administration,
Web technologies: PHP, SPIP, HTML,
Computer basics for C2I.