Teaching

This list contains all contents I have used in my teaching career. If you want to use them to teach directly or as a base for your own work, you need to credit me and the respective authors. You cannot use the content for commercial purposes unless given approval from all respective authors of a specific work. All rights reserved where applicable.

Web programming

React Development (Legacy version)

3h - 1 bloc/sitting

This seminar, during its peak time, was a global theoretical and practical introduction to React. Now, it is a legacy approach that is retrocompatible if explicitly needed by a specific architecture.

It covers the basics of React, advanced paradigms (2-way binding), and code structure of pages (states, props, classes, etc.).

Fullstack Python Web Development with Flask, Jinja (Frontend), and SQL Database

3h - 1 bloc/sitting

This seminar shows a full approach to build a blog application with Python as Backend, Jinja as Frontend, and SQL as the database.

The architecture promotes service-like segmentation of a monolithic containerized project base with a MVC and Client-Server conception.

Uses an ORM for database choice, and API entry-points can be revealed to switch Frontend to popular React framework like Nextjs.

Nextjs React Framework - Client Side

45h - 15 blocs/sittings

This course goes in details into the Client side part of the Nextjs React Framework.

It covers the basics of React and Nextjs, and intermediate paradigms in the client side (routing, dynamic pages, media optimization, unit tests, etc.).

Nextjs React Framework - Server Side

45h - 15 blocs/sittings

This course goes in details into the Server side part of the Nextjs React Framework.

It covers the advanced part of the Nextjs framework with secured env. variables, API requests, SEO, and more.

Artificial Intelligence (AI)

Artificial Intelligence for Beginners - Part 1

60h - 15 blocs/sittings

This course goes briefly into main components of a programming Machine Learning (ML) project (dataset, preprocessing, training, evaluation, predictions, etc.).

It covers basics of AI algorithms, such as linear programming (LP), Big O notation, recursivity, dynamic programming (DP), and their compute space as a tree structure.

Artificial Intelligence for Beginners - Part 2

60h - 15 blocs/sittings

This course goes briefly into other algorithms such as tree traversial and graph theory with Dijkstra.

It covers basics of Machine Learning (ML), Deep Learning (DL), creation of complete ML projects (IDE codebase, Notebooks, Reports, etc.), learning types (supervised, none and semi) and their respective ML algorithms with Sklearn.

Artificial Intelligence for Beginners - Part 3

60h - 15 blocs/sittings

This course goes in details into compilation, training, and evaluation of ML models with reviewing of loss functions, optimizers and metric functions for classification or regression.

It covers basics of article reading, literature review, and the processing of new ML knowledge by autonomous search in the research fields.

Students are challenged into competing in a Kaggle competition, where the additionnal articles shared in a "conference format" are related to the competition`s goal.

Project Management

End of Study Project - Project Mangement, Software Engineering, and Innovation

45h - 15 blocs/sittings

This course goes in details into the theory behind project management in software engineering for computer science projects (AI, Web, Mobile, Fintech, IoT).

It covers most aspects from starting a team and finding the innovative idea up to planifying the base for the technical software engineering phase and project launch.

System Administration

Python Programming in System Administration with Perl

3h - 1 bloc/sitting

This seminar shows a brief introduction to Python for System Administration (Sys. Admin.) tasks.

It covers basic Python syntax and interaction with Perl scripts which are often used in Sys. Admin. related environments.