Depuis 2010 à l'université Abou Bekr Belkaïd Tlemcen
- Réseaux avancés (depuis 2017, en S2 du Master 1 Génie
Logiciel (GL), 1.5H de Cours et 1.5H de TP / semaine) : Ce module couvre les aspects suivants :
- Pré requis : gestion des fichiers et sérialisation en Java
- Couche liaison de données : rappel
- Couche du niveau réseau
- IPv6 vs IPv4
- NAT et PAT
- Types de transmission IP
- Routage
- Statique
- Dynamique
- IGP : RIP et OSPF
- EGP : BGP
- Couche du niveau transport
- Assignations des ports
- Multiplexage/démultiplexage
- UDP : principe général
- TCP
- Mécanisme de fiabilité
- Etablir et libérer une connexion
- Contrôle de flux et de congestion
- Programmation réseau en Java : Socket TCP (travaux pratiques)
- Couche du niveau application
- Utilisation du protocole HTTP avec les JavaServer Pages (JSPs) (travaux pratiques)
- Réseaux et systèmes distribués (entre 2013 et 2016, en S2 du Master 1 Génie Logiciel (GL), 1.5H de Cours, 1.5H de TD et 1.5H de TP / semaine) : Ce module couvre les aspects suivants :
- Introduction aux systèmes distribués
- Programmation réseau en Java : Socket
- Algorithmique distribuée
- Introduction aux composants logiciels (JavaBeans)
- Introduction aux Java Server Pages (JSP)
- Construction d'applications réparties (depuis 2011, en S3 du Master 2 Réseaux et Systèmes Distribués (RSD), 1.5H de Cours, 1.5H de TD et 1.5H de TP / semaine) : Ce module couvre les parties suivantes :
- Introduction aux objets répartis Java RMI
- Architecture n-tiers et Frameworks globaux (J2EE vs .Net)
- Programmation Web côté serveur
- Langages de scripts (présentation de PHP)
- Programmation Web côté serveur
- Exécution d'un programme (Servlet)
- Conception d'applications Web avec servlet et JSP
- Architecture modèle 1 : MVC 1
- Architecture modèle 2 : MVC 2
- Applications Web avec Struts 2
- Présentation du Framework de persistance Hibernate
- Algorithmique des systèmes et applications réparties (en S2 du Master 1 Réseaux et Systèmes Distribués (RSD), 1.5H de Cours, 1.5H de TD et 1.5H de TP / semaine) : Ce module couvre les aspects suivants :
- Introduction aux systèmes distribués
- Socket Java
- Temps dans un système distribué
- Exclusion mutuelle distribuée
- Diffusion atomique
- Élection d'un maître
- Consensus
- Transaction
- Propriété stable : terminaison distribuée d'une application répartie
- Introduction aux composants logiciels (JavaBeans)
- Introduction aux Java Server Pages (JSP)
- Systèmes distribués (entre 2011 et 2013, en S5 du Licence 3, 1.5H de Cours / semaine) : Ce module couvre les aspects suivants :
- Introduction à la programmation concurrente
- Introduction aux systèmes distribués
- Temps dans un système distribué
- Exclusion mutuelle distribuée
- Élection d'un maître
- Programmation concurrente et temps réel (en S1 du Master 1 Réseaux et Systèmes Distribués (RSD)
, 1.5H de Cours et 3H de TP / semaine) : Ce module couvre les aspects suivants :
- Introduction aux systèmes d'exploitations
- Différent types de SE
- Mise à niveau en java :
- Introduction générale
- Introduction au JAVA
- Programmation objet avec JAVA
- Applet et interfaces graphiques avec AWT
- Interfaces graphiques avec SWING
- Introduction aux threads en java
- Création de thread
- Sous-classer Thread
- Implémenter Runnable
- Cycle de vie et propriétés
- Interrompre un Thread
- Applet et thread
- ThreadGroup
- Threads démons
- Timer et TimerTask
- Synchronisation des threads
- Variables partagées (classe interne ou variables de classe)
- Synchronisation compétitive
- Bloc synchronisé et méthode d'instance synchronisée
- Imprimeur en commun avec les moniteurs
- Synchronisation coopérative
- wait, notifyAll et notify (problème des philosophes)
- Sémaphore (coiffeur dormeur)
- Synchronisation sur terminaison (deux écrivains avec join)
- Ordonnancement des threads avec les priorités
- Problème du Producteur et du Consommateur
- Producteurs-Consommateurs
- Interblocage
- Systèmes temps réel
- Java Temps-Réel
- RTSJ (Real-Time Specification for Java)
- Thread et Swing
- Algorithmique avancée et complexité (en 2010-2011, en S1 du Master 1 RSD, 1.5H de Cours et 1.5H de TD / semaine) :
Ce module couvre les aspects suivants :
- Théorie de la complexité
- Récursivité
- Paradigme diviser pour régner
- Structures de données élémentaires
- Arbres
- Programmation dynamique
- Algorithmes gloutons
- Problème NP-complet et heuristique
- Initiation à la recherche (en S3 du Master 2 Modèle Intelligent et Décision (MID) et
Systèmes d'Information et de Connaissance (SIC), 1.5H de Cours / semaine) : Ce module s'est déroulé
sous forme d'exposés.
Depuis 2008
Adiscos Formations
- Formation Java pour débutant (formation accélérée
d'un assistant à maîtrise d'ouvrage (AMO) chez la RATP, 9H de Cours) :
l'AMO souhaiterait apprendre la syntaxe et les principales API de base du langage JAVA. Cette formation couvre les aspects suivants :
- Introduction générale
- Langage compilé et langage interprété
- Langages intermédiaires : JAVA, interprété ou compilé ?
- Introduction au JAVA
- Environnement de programmation
- Types primitifs, variables et constantes
- Conversion de type de données
- Lire les entrées clavier
- Opérateurs et fonctions mathématiques
- Structures de contrôles des instructions
- Tableaux, fonctions et procédures
- Programmation objet avec JAVA (1)
- Notion d'objets et programmation orientée objet
- Encapsulation, constructeur, attributs et méthodes
- Accesseurs, mutateurs et méthode toString
- Surcharge, signature et variable de classe
- Collection d'objet : Vector, ArrayList et LinkedList
- Formation Java pour développeur (formation en technologie JAVA d'un ingénieur informaticien chez ResMed, 35H de Cours) :
le salarié maîtrise parfaitement le développent en C++, et souhaiterait être capable de pouvoir créer des applications
Java qui exploitent les aspects orientés objet du langage. Cette formation couvre les aspects suivants :
- Introduction générale
- Introduction au JAVA
- Programmation objet avec JAVA (1)
- Programmation objet avec JAVA (2)
- Héritage et polymorphisme
- Classes abstraites et interfaces
- Gestion des packages et exception
- Gestion des fichiers et serializable
- Applet et interfaces graphiques avec AWT
- Interfaces graphiques avec SWING
- Threads et synchronisation des threads
- Thread et Swing
- Normes J2EE
- SGBD
- Architecture client/serveur
- Systèmes distribués
- Serveurs d'applications J2EE
- Architecture J2EE
- Application
- Accès à MySQL avec JDBC sous NetBeans
- Configuration du serveur d'applications Apache Tomcat
- Entreprise Java Beans (EJBs)
- Servlets
- Java Server Pages (JSP)
École Supérieure d'Ingénieurs Léonard de Vinci
- Intelligence artificielle et système multi-agents
(Option : ingénierie de l'information en 9ème semestre-ESILV, 20H de Cours et 20H de TD) :
Ce module couvre les aspects suivants :
- Première partie : Intelligence artificielle (IA)
- Définition de l'intelligence artificielle (IA)
- Domaines d'application de l'IA
- Reconnaissance de formes
- Traitement automatique des langues
- Systèmes experts
- Apprentissage automatique
- Intelligence artificielle distribuée (IAD)
- Deuxième partie : Technologie Agent
- Définition d'un agent
- Agents intelligents et agents mobiles
- Caractéristiques multidimensionnelles d'un agent
- Architecture concrète pour un agent
- Agents logiques
- Agents réactifs
- Agents BDI
- Modèle type d'un agent
- Systèmes Multi-Agents
- Définition d'un SMA
- Communication entre agents
- Plates-formes des systèmes multi-agents
- Troisième partie (projet) : Simulation d'un système multi-agents
- Algorithmique et programmation en JAVA (2ème et 3ème semestre-ESILV, 160H de TD et 160H de TP):
Ce module est une introduction à l'algorithmique et à la programmation en JAVA :
- La partie Algorithmique couvre les aspects suivants :
- Algorithmes élémentaires :
- Instructions conditionnelles ;
- Boucles ;
- Fonctions ;
- procédure.
- Tableaux.
- La partie programmation en JAVA couvre les aspects suivants :
- Types élémentaires et opérateurs ;
- Instructions de contrôle et de boucle ;
- Déclaration et appel des méthodes ;
- Déclaration d'une classe ;
- Réalisation d'un projet.
- Environnement système (1er et 2ème semestre-ESILV, 60H de TD et 60H de TP):
Ce module couvre les aspects suivants :
- Introduction à Unix
- Rappels des concepts de base ;
- Principales commandes ;
- Gestion des fichiers ;
- Processus ;
- Redirection, Filtres.
- Le Shell
- Fonctionnement et syntaxe ;
- Scripts ;
- Variables ;
- Redirections d'entrées/sorties ;
- Commandes internes.
- Introduction aux réseaux
- Adressage des ordinateurs ;
- Les connections.
Université Paris VIII
- Algorithmique sur les arbres binaires de recherche (2ème année DUT informatique, 21H de TD):
Ce module couvre les aspects suivants :
- Utilisation de structures arborescentes pour la recherche (les arbres binaires de recherche) : recherche, adjonction et suppression ;
- Évaluation de la complexité logarithmique en moyenne de ces opérations, et comparaison avec les structures
séquentielles ;
- Évaluation de la complexité au pire linéaire : amélioration par
rééquilibrage donnant les arbres AVL ;
- Analyse des opérations simples de rotation ponctuelle pour conserver l'équilibre.
- Algorithmique et programmation en JAVA (1ère année DUT informatique, 68H TD et 66H TP):
Ce module est une introduction à l'algorithmique et à la programmation en JAVA :
- La partie Algorithmique couvre les aspects suivants :
- Algorithmes élémentaires (boucles, instructions conditionnelles,... ) ;
- Tris ;
- Programmation dynamique ;
- Calcul de la complexité ;
- Structures de données (Vecteur, Pile, File, Liste, Arbre,...) ;
- Récursivité.
- La partie programmation en JAVA couvre les aspects suivants :
- Types élémentaires et opérateurs ;
- Instructions de contrôle et de boucle ;
- Déclaration et appel des méthodes ;
- Déclaration d'une classe ;
- Héritage, polymorphisme et interfaces ;
- Interfaces graphiques.
- Introduction à la programmation en C (1ère année DUT informatique, 21H de TD):
Ce module couvre les aspects suivants :
- Types élémentaires et opérateurs ;
- Instructions de contrôle et de boucle ;
- Pointeurs et Tableaux ;
- Pointeurs et chaînes de caractères ;
- L'accès aux fichiers ;
- Structures ;
- Fonctions récursives.
(2007 - 2008) à l'université Paris Ouest Nanterre La Défense
- Applications Financières sous Excel en Visual Basic (Master 2 Banque Monnaie Finance, 8H de Cours et 24H de TD):
Ce module est une introduction au langage VBA, il couvre les aspects suivants :
- Aperçu global sur le langage VBA ;
- Construction de l'interface graphique ;
- Matrices et Statistiques ;
- Programmation des applications financières sous Excel en VBA.
- Propriétés des taux de rentabilité boursiers.
- Initiation à la programmation Web dans un environnement LAMP (Linux, Apache,
MySQL et PHP) (Licence 2 Math-Info, 6H de Cours et 12H de TD): Ce module
couvre les aspects suivants :
- Architecture web ;
- Introduction à HTML et CSS ;
- Base de données MySQL;
- Introduction au PHP.
- VBA sous Excel (Licence 1 Sciences économiques, 48H de TD):
ce module est une introduction au langage VBA.
- Initiation en Informatique (Licence Professionnelle Banque, 2 H de cours et 10 H de TD) :
Ce module présente les systèmes
d'informations ainsi qu'une introduction a
Excel pour des étudiants en licence
professionnelle banque qui sont aussi des
salariés au Crédit Agricole.
- Bureautique (Master 1 Science Politique, 12H de TD): ce module est une introduction au
Word et Excel pour des étudiants en Master 1 Science Politique.
(2005 - 2006) à l'ENSEIRB
- Analyse et structures de données (1ère année Télécom, 26.66H de TD) :
Ce module est une introduction à l'algorithmique et aux types abstraits de données,
il couvre les aspects suivants :
- Algorithmes élémentaires (boucles, instructions conditionnelles,... ) ;
- Récursivité ;
- Calcul de la complexité ;
- Tris ;
- Programmation dynamique ;
- Algorithmes gloutons ;
- Structures de données (Vecteur, Pile, File, Liste, Arbre,...).
- Environnement de développement en langage C (1ère année Informatique, 24H de TD):
Ce module est une introduction à une partie "Projet open source" qui consiste en
l'étude d'un projet dont les sources doivent être
librement accessibles sur Internet, et qui donnera lieu à la fourniture d'un rapport.
Ce
module couvre les aspects suivants :
- Gestion de source et la gestion de versions à l'aide de l'outil CVS (Concurrent Versions System) ;
- Tests unitaires ;
- Suivi mémoire dynamique et gestion mémoire.
- Systèmes d'exploitation : (2ème année Informatique, 40H de TD): Ce module couvre les aspects suivants :
- Rappels hardware, MMU, espace d'adressage ;
- Edition de liens, édition dynamique ;
- Structure du SGF sur disque, impact sur les performances ;
- Structure du SGF en mémoire, impact sur les performances ;
- Gestion pratique des entrées/sorties par le système, atomicité
- Algorithmes Sleep/Wakeup ;
- Buffer cache ;
- Mémoire partagée Posix, mmap, sémaphores ;
- Threads Posix
(2002 - 2003) à l'université Paris 13
- Systèmes d'exploitation et programmation système (1ère année DEUG, 36H de TP):
Ce module couvre les aspects suivants :
- Concepts généraux sur les systèmes d'exploitation, architecture du système UNIX ;
- Programmation en shell UNIX (bash) ;
- Processus UNIX et les mécanismes de synchronisation ;
- Systèmes de gestions de fichiers.
- Introduction à l'algorithmique et la programmation en C (1ère année STPI,
39H TD et 39H TP):
Ce module couvre les aspects suivants.
- Écriture des algorithmes (présentation des notions de base : affectations, itérations, conditions) ;
- Apprentissage de la syntaxe du langage C ;
- Présentation des outils de développement :
- Compilateur gcc et les différentes étapes de la compilation ;
- Débogueur gdb ;
- Gestion de projet avec make.
- Option Multimédia (1ère année MIAS, 37.5H TP): Cette option couvre les aspects suivants :
- Introduction au langage HTML ;
- Traitement des images, la vidéo et l'audio ;
- Réalisation d'un site Web et la fourniture d'un rapport final qui résume la démarche suivie.