Curriculum Vitae - Les écoles de Saint

Transcription

Curriculum Vitae - Les écoles de Saint
Curriculum Vitae
version complète
Stéphane Cardon – Juin 2013
Table des matières
CV . . . . . . . . .
Enseignement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 - Synthèse des activités d’enseignement . . . . . . . . . . . . . . .
1.1 - Écoles de Saint-Cyr Coëtquidan . . . . . . . . . . . . .
1.2 - Faculté Jean Perrin de Lens . . . . . . . . . . . . . . . .
1.3 - Faculté Jean Perrin et IUT de Lens . . . . . . . . . . .
2 - Descriptif des matières enseignées . . . . . . . . . . . . . . . . .
2.1 - Master 2 PRO ILI . . . . . . . . . . . . . . . . . . . . . .
2.2 - Master 1 Informatique . . . . . . . . . . . . . . . . . . .
2.3 - ESM 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 - ESM 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 - Licence 3 Informatique . . . . . . . . . . . . . . . . . . .
2.6 - Licence 2 Informatique . . . . . . . . . . . . . . . . . . .
2.7 - DUT 2 Informatique . . . . . . . . . . . . . . . . . . . . .
3 - Travail d’Étude et de Recherche : TER . . . . . . . . . . . . . .
Recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 - Activités de recherche . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 - Processus Décisionnels de Markov . . . . . . . . . . . .
1.2 - Réseaux de contraintes . . . . . . . . . . . . . . . . . . .
2 - Responsabilités scientifiques et activités de vulgarisation 3 - Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
5
5
5
5
6
7
7
7
7
7
7
8
8
8
9
9
9
9
10
11
Stéphane Cardon
adresse
téléphone
courriel
titre
directeur
laboratoire
soutenue le
membres du jury
1999–2000
1997–1999
1995–1997
1993–1995
1993
Contact
Centre de Recherche des Écoles de Saint-Cyr Coëtquidan - 56381 GUER Cedex
02.90.40.40.55
[email protected]
Thèse
Résolution de Processus Décisionnels de Markov Totalement Observables de Grandes Tailles
Éric Grégoire
CRIL
14 octobre 2003
Salem Benferhat, François Charpillet (rapporteur), Éric Grégoire, Pierre Marquis (président
du jury), Philippe Mathieu (rapporteur), Lakhdar Saïs
Formation
DEA, USTL, Lille.
Licence et Maîtrise d’Informatique, Faculté Jean Perrin, Lens.
Licence de Mathématiques, Faculté Jean Perrin, Lens.
DEUG A, Faculté Jean Perrin, Lens.
BAC C, Lycée Diderot, Carvin.
Expérience Professionnelle
2012–Aujourd’hui
2005–2012
2003–2005
Maître de Conférences, CREC, Guer.
Maître de Conférences, CRIL, Lens.
ATER, CRIL, Lens.
2000
Ingénieur d’études, Faculté Jean Perrin, Lens.
1999
Stage de Maîtrise, Unilog, Lens, 4 mois.
Gestion du parc Informatique de l’enseignement et co-gestion de celui de la recherche.
Mise en place d’un site web pour cataloguer les produits de la société (JAVA, jdbc et odbc,
HTML) et génération automatique d’un fichier de prélèvement automatique à partir d’une Base
de Données de type Access (Visual Basic)
Connaissances techniques
Entrepôt de données
Langages de programmation
Outils de développement
Systèmes d’exploitation
Systèmes d’information
Technologies Web
ETL : Keetle et Talend ; OLAP : Mondrian
Android, C/C++, C#, Qt, JAVA, JavaFX
Eclipse, NetBeans, SVN
Unix/Linux, Windows
Merise, UML, SQL, Postgres, MySQL, SQLite
JEE, PHP, XHTML/CSS, XML
3
Réalisations logicielles
MVC Java/Swing
Application permettant de jouer au jeu Pickomino, en ligne, contre une ou plusieurs IAs :
http://www.cril.univ-artois.fr/∼lagrue/pickomino/
Mobilité
Portage de l’application Pickomino sur Android 2.2 avec une IA et réalisation du jeu motus
sur NAO et sur tablette Android (http://www.youtube.com/watch?v=s-1ySiJR0ew)
C++/Qt
MVC - PHP
Solveur de réseaux de contraintes avec visualisation du problème
Support de cours : le Puissance N, dans la section MVC-PHP de mon site
Enseignements
M2 PRO Info
M1 Info
EO 2e Bat
EO 3e Bat
L3 Info
L3 Info
L2 Info
IUT Info
IUT SRC
L1
M1 TER
M1–M2
Thématiques
Divers
2009 à 2012
2011
2011-2012
Entrepôt de données (ETL, OLAP, PostgreSQL) et ingénierie logicielle (JEE)
Génie Logiciel (MVC, Architecture n-tiers, PHP)
Réseaux, Génie Logiciel
Algorithmique (C#)
Conception et programmation orientées objet (JAVA, C++/Qt)
Projets (C, Nintendo DS, JAVA - Swing, JavaFX, Android)
Algorithmique (C, Pascal, Python, JAVA)
Programmation Android (2.1 et 2.2)
Algorithmique (PHP, JavaScript), base de données(MySQL)
XHTML et CSS
Encadrements
Développement de nouvelles consistances pour la programmation par contraintes (C++),
Développement d’un serveur de Pickomino (JEE, GWT), Développement d’un réseau
social modulaire (JEE, JSF), Développement d’une IA pour le jeu Sushi Bar (JAVA Swing), Réalisation pseudo-objet d’un mini-solveur CSP (C/C++), Un site web pour les
étudiants du master info (PHP - PostgreSQL), Visualisation graphique de résolution de
problèmes de satisfaction de contraintes (C++/Qt)
Collaboration au développement d’un réseau social pour entreprise : FSNet (JEE) et collaboration au développement en cours d’une application permettant de gérer les compétences
des étudiants avec signature numérique (JEE)
Recherche
Durant ma thèse, j’ai travaillé sur les Processus Décisionnels de Markov appliqués au problème du contrôle du rover de la NASA. À ce titre, je suis allé aux USA, dans l’Université du
Massachusetts à Amherst durant 1 mois et à Seattle. Ensuite, j’ai travaillé sur les Problèmes de Satisfaction de Contraintes (CSP), essentiellement sur la réduction de l’espace
de recherche. Enfin, j’ai également travaillé sur les jeux non déterministes.
Membre du conseil de laboratoire de 2008 à 2010
Activités
Mise en place de la fête de la science
Participation au café de l’IA à Chambéry
Président de jury de la Licence Informatique 2ème année
4
Enseignement
Depuis septembre 2012, je suis détaché au ministère de la défense au centre de recherche
des écoles de Saint-Cyr Coëtquidan (CREC). J’y effectue un service de maı̂tre de conférences
pour dispenser une formation informatiques aux élèves officiers de l’école spéciale militaire
(ESM). L’ESM 2 correspond à un niveau M1 et l’ESM 3 à un niveau L3.
De septembre 2005 à aout 2012, j’étais en poste à la Faculté Jean Perrin qui est une composante de l’Université d’Artois. Compte tenu des besoins en enseignements des différentes
formations, j’ai été amené à enseigner environ 270 heures équivalent TD par an. J’ai quasiment exclusivement enseigné à un public suivant une formation mathématiques/informatique
et informatique pure, à tout niveau (depuis la première année de Licence jusqu’à la dernière
année de Master).
La synthèse qui suit est séparée en trois parties. Les deux premières concernent mes activités d’enseignement depuis mon recrutement. La dernière, concernant mes années d’ATER,
est présentée à titre indicative. Par souci de concision, je ne ferai pas référence à mes années
de monitorat.
1 - Synthèse des activités d’enseignement
1.1 - Écoles de Saint-Cyr Coëtquidan
Maı̂tre de Conférences - CREC
Auditoire Années
Intitulé
C
2012–2013 IOO
10H
2012–2013 SYSCO
10H
ESM 2
2012–2013 MT
2H
2012–2013 Réseaux
22H
ESM 3
2012–2013 Algorithmique 10H
Totaux (présentiel) 54H
Total équivalent TD
TD
14H
14H
22H
24H
16H
90H
241H
TP
12H
16H
30H
12H
70H
1.2 - Faculté Jean Perrin de Lens
5
Auditoire
Master 2 PRO
Master 2 PRO
Master 1
Licence 3
Licence 2
DUT 2 Info
Licence 1
Maı̂tre de Conférences - CRIL
Années
Intitulé
2007–2012
Entrepôt de données
2012
JAVA pour l’internet
2005–2012
Génie Logiciel
2006–2011
Conception Orientée Objet
2006–2012
Projet informatique
2005–2008
Algorithmique 4
2005–2006
Algorithmique 5
2005–2007
Compilation
2006–20012 Algorithmique 3
2006–2011
Algorithmique Pour l’Objet
2005–2006
Programmation impérative
2008–2012
Programmation Objet Avancée
2009–2010
Programmation fonctionnelle
2007–2008
Programmation impérative
2007–2009
Web
2010–2011
Web
Totaux (présentiel)
Total équivalent TD
C
40H
TD
40H
84H
60H
84H
60H
75H
37,5H
15H
18H
162H
60H
12H
156H
24H
18H
96H
60H
12H
396H
TP
60H
16H
84H
126H
126H
24H
24H
30H
96H
39H
719,5H
1 890H
20H
18H
48H
15H
726H
1.3 - Faculté Jean Perrin et IUT de Lens
Attaché Temporaire à l’Enseignement et à la Recherche
Algorithmique Orientée Objet
8H
28H
DUT 2 SRC
2004–2005 Web Dynamique
DUT 1 SRC
Algorithmique et JavaScript
48H
Recherche Opérationnelle
24H
Master 1
Réseaux
8H
6H
Licence 2
2003–2004 Programmation Orientée Objet
Programmation impérative
18H
Licence 1
Programmation fonctionnelle
Totaux (présentiel) 16H 124H
Total équivalent TD
384H
80H
44H
32H
12H
3H
57H
102H
24H
354H
6
2 - Descriptif des matières enseignées
Je ne détaillerai, dans cette partie, que les matières pour lesquelles je suis ou j’ai été le
responsable du cours.
2.1 - Master 2 PRO ILI
Entrepôt de données
Période de responsabilité : 2007–Aujourd’hui
Contenu : Présentation du Data Warehouse comme étant le carrefour de l’aide à la
décision, de la sécurité des données en entreprise et de la fouille de données. Utilisation d’un
ETL (Extraction-Transformation-Chargement) et des cubes OLAP.
2.2 - Master 1 Informatique
Génie Logiciel
Période de responsabilité : 2005–Aujourd’hui
Contenu : Qu’est-ce que le génie logiciel ? Présentation du reste des diagrammes UML et
des méthodologies de production de logiciels avec mise en application avec le Processus Unifié
et maquette réalisée en PHP (au modèle MVC). Présentation de l’architecture n-tiers et des
métriques.
2.3 - ESM 2
IOO
Période de co-responsabilité : 2012–Aujourd’hui
Contenu : Présentation de l’ingénierie orientée objet au travers de plusieurs exemples
issus des besoin de l’armée de terre.
2.4 - ESM 2
Réseaux
Période de responsabilité : 2012–Aujourd’hui
Contenu : Présentation des bases des réseaux locaux d’entreprise et mise en application
sur un parc d’une vingtaine de machines (3 réseaux reliés par un quatrième réseau).
2.5 - Licence 3 Informatique
Algorithmique 4
Période de responsabilité : 2005–2006 et 2007–2008
Contenu : Présentation quasi-exhaustive des tris avec calcul de leur complexité (pire cas
et en moyenne).
Projets
Période de responsabilité : 2006–2010
Contenu : Il ne s’agit pas d’un cours à proprement parler mais d’un module dans lequel
il faut implémenter un ou plusieurs projets assez complets (par exemple, compilateur pascal,
7
compresseur/décompresseur jpeg - hauffman, jeu en Nintendo DS ...). Langage utilisé : C.
Analyse/Conception Orientée Objet
Période de responsabilité : 2006–2011
Contenu : Qu’est-ce que l’analyse/conception orientée objet ? Présentation des diagrammes de classes et d’états-transitions. Cette année, en supplément, présentation et mise en
pratique de la modélisation Modèle-Vue-Contrôleur (MVC) : application en JAVA - JavaFX.
2.6 - Licence 2 Informatique
Algorithmique 3
Période de responsabilité : 2008–Aujourd’hui
Contenu : Fondamentaux de l’algorithmique : Qu’est-ce que l’algorithmique ? Comment
écrire un algorithme ? Qu’est-ce que les structures de données ? Présentation des piles, files,
listes chaı̂nées et doublement chaı̂nées et des algorithmes de tri : application en Python.
Algorithmique Pour l’Objet
Période de responsabilité : 2006–2011
Contenu : Présentation de la bibliothèque java.util : utilisation des listes, piles et files
- étudiées en Algorithmique - en JAVA. Avec l’évolution de ce langage, la généricité y a été
intégrée de même que le sucre syntaxique (boucles itératives, énumération, auto-(un)boxing).
2.7 - DUT 2 Informatique
Programmation Objet Avancée
Période de responsabilité : 2008–Aujourd’hui
Contenu : Programmation 3D en JAVA remplacée par de la programmation Android.
Installation du SDK, création d’un premier projet et apprentissage du SDK par l’exemple,
déploiement sur l’émulateur puis sur un google phone (Nexus One) et sur une tablette.
3 - Travail d’Étude et de Recherche : TER
Les étudiants de Master 1 peuvent réaliser leur TER soit en Entreprise soit à la Faculté
durant 8 semaines. Pour ce faire, chaque année, nous pouvons proposer des sujets et encadrer
des étudiants durant leur TER. Depuis 2006, chaque année, je propose un ou deux sujets :
– Développement d’une application de validation de C2I-1 par QCM (Android) ;
– Développement de nouvelles consistances pour la programmation par contraintes (C++) ;
– Développement d’un serveur de Pickomino (JEE, GWT) ;
– Développement d’un réseau social modulaire (JEE, JSF) ;
– Développement d’une IA pour le jeu Sushi Bar (JAVA - Swing) ;
– Réalisation pseudo-objet d’un mini-solveur CSP (C/C++) ;
– Réalisation d’un site web pour les étudiants du master info (PHP - PostgreSQL) ;
– Visualisation graphique de résolution de problèmes de satisfaction de contraintes (C++/Qt).
De plus, durant l’année 2005/2006, j’ai effectué le suivi des stagiaires de Master 1 en
entreprise.
8
Recherche
Depuis le début de ma thèse en 2000, j’ai travaillé sur la planification à base de théorie de
la décision et plus particulièrement sur les Processus Décisionnels de Markov. Par la suite, je
me suis réorienté dans la résolution de problèmes de satisfaction de contraintes tout en faisant
évoluer ma première thématique vers la résolution de jeux présentant une part de hasard.
Mon intégration au CREC correspond à une volonté de modification de mes thématiques
de recherche. En effet, je souhaite établir un lien entre mes précédentes thématiques et la
prise de décision dans les simulations de l’armée de terre et l’industrie du jeu.
1 - Activités de recherche
1.1 - Processus Décisionnels de Markov
Le cadre formel le plus généralement utilisé pour modéliser et résoudre des problèmes de
planification à base de théorie de la décision est celui des Processus Décisionnels de Markov (PDMs), qui sont issus de la Recherche Opérationnelle. Ils modélisent l’incertitude des
conséquences des actions par une distribution de probabilités sur les états atteignables par
une action. De plus, à chaque état, ils associent une récompense et à chaque action appliquée
depuis un état son coût, ce qui permet de quantifier une suite d’actions. On parle dans ce
cas de valeur d’une suite d’actions. Pour finir, la propriété markovienne est vérifiée, à savoir
que toute suite d’actions précédemment exécutées n’influe pas sur la prise de décision de la
meilleure action optimale à exécuter. Sous ces conditions, le but des Processus Décisionnels de
Markov n’est plus de trouver une suite d’actions amenant à un état but mais un ensemble de
suites d’actions possibles ayant une valeur espérée maximale. Cette valeur espérée est calculée
à l’aide de la valeur d’une suite d’actions et de la probabilité d’obtenir cette suite d’actions.
Comme dans la plupart des problèmes de décision, l’espace des états est trop important pour être parcouru de manière exhaustive afin de trouver la solution optimale. Pour
le problème du contrôle du rover de la NASA exposé en partie dans ma thèse [13], j’ai apporté plusieurs moyens de réduire cet espace. La première a consisté en la décomposition du
problème : une estimation de l’espace d’états éloignés de l’état courant et application
du PDM sur un horizon fini centré en l’état courant et sur l’évaluation du reste de l’espace
[8]. La deuxième consiste à découper l’espace des états sous certaines conditions réalistes en
méta-états, résoudre les méta-PDMs et relier les solutions optimales afin d’obtenir la solution
du problème initial [7].
Par la suite, j’ai appliqué les PDMs à un jeu à base de dés du type stop ou encore :
Pickomino. Encore une fois, afin d’accélérer le temps de traitement, il a fallu factoriser l’espace
des états mais cette fois en fonction de la structure du problème. L’adaptation de l’algorithme
Value Iteration a donné lieu à plusieurs publications [10, 9] dont une dans une conférence
d’audience internationale [3].
1.2 - Réseaux de contraintes
Après ma thèse, je me suis réorienté et j’ai intégré une nouvelle thématique de recherche :
la résolution de réseaux de contraintes qui s’inscrit dans le problème de satisfactions de
9
contraintes (CSP). Un réseau de contraintes est un ensemble de variables, dont les valeurs
possibles sont définies dans ce qui est appelé le domaine de la variable, reliées entre elles par
des contraintes. Ces dernières indiquent les tuples de valeurs autorisés pour les variables mises
en jeu. Le problème est alors de trouver pour chaque variable, une valeur qui vérifie toutes les
contraintes du problème. La recherche systématique avec retour en arrière est une technique
largement utilisée pour trouver une solution ou prouver qu’il n’en existe pas. Néanmoins,
cette recherche peut prendre un temps exponentiel.
Les cohérences sont des propriétés des réseaux de contraintes qui peuvent être exploitées
avant ou pendant la recherche. Elles permettent en particulier de réduire l’espace de recherche et, de ce fait, le temps de résolution. J’ai apporté des contributions sur deux types
de cohérences :
– La cohérence d’arc singleton (d’ordre 1) (SAC - Singleton Arc Consistency) :
Il s’agit de restreindre le domaine d’une variable à une seule valeur et vérifier que toutes
les autres variables possèdent encore une valeur possible après avoir établit la cohérence
d’arc. Plus précisément, je me suis focalisé sur une approche gloutonne pour établir
cette cohérence ce qui a donné lieu à plusieurs publications [12, 6] et à une étude plus
globale des algorithmes permettant d’établir cette cohérence [1].
– La cohérence duale (d’ordre 2) (DC - Dual Consistency) :
Lorsque SAC est établi sur une variable donnée, les variables liées L à cette dernière par
une contrainte voient leur domaine réduit. Mais est-ce que cette valeur reste cohérente
lorsqu’on restreint une des variables de L à une valeur du domaine réduit ? Cette interrogation a donné lieue à la cohérence duale [11, 5, 4] et une étude plus globale des
cohérences d’ordre 2 [2].
2 - Responsabilités scientifiques et activités de
garisation vul-
Durant trois années – de 2008 à 2010 – j’ai été membre du conseil de laboratoire.
Durant ces deux dernières années j’ai mis en place avec d’autres collègues la fête de
la science pour la composante informatique de l’Université. Plus précisément, nous avons
proposé un challenge aux étudiants : se mesurer à des IAs, développées en partie par mes
soins, pour le jeu Pickomino. Cet évènement fut à chaque fois une réussite avec une trentaine
de participants, des lots à gagner selon le classement obtenu après trois parties.
Cette année, je vais participer au café de l’IA organisé par l’AFIA à Chambéry. Je
vais reprendre le principe du challenge Pickomino en proposant à plusieurs humains de se
mesurer contre la meilleure IA.
10
3 - Publications
Journaux
[1] Christian Bessière, Stéphane Cardon, Romuald Debruyne, and Christophe Lecoutre. Efficient algorithms for singleton arc consistency. Constraints, 16(1) :25–53, jan 2011.
[2] Christophe Lecoutre, Stéphane Cardon, and Julien Vion. Second-order consistencies.
Journal of Artificial Intelligence Research (JAIR), 40 :175–219, jan 2011.
Conférences d’audience internationale avec publication des actes
[3] Stéphane Cardon, Nathalie Chetcuti-Sperandio, Fabien Delorme, and Sylvain Lagrue.
A markovian process modelling for pickomino. In The 7th International Conference on
Computers and Games(CG’10), pages 199–210. Springer, jan 2011. Lecture Notes in
Computer Science, Vol. 6515.
[4] Christophe Lecoutre, Stéphane Cardon, and Julien Vion. Path consistency by dual
consistency. In 13th International Conference on Principles and Practice of Constraint
Programming(CP’07), pages 438–452, Providence, Rhode Island, sep 2007. LNCS 4741,
Springer. 43 papiers acceptés sur 143 ' 30%.
[5] Christophe Lecoutre, Stéphane Cardon, and Julien Vion. Conservative dual consistency.
In 22nd Conference on Artificial Intelligence(AAAI’07), pages 237–242, Vancouver, Canada, jul 2007. Distinguished paper, 253 papiers acceptés sur 921 ' 27,5%.
[6] Christophe Lecoutre and Stéphane Cardon. A greedy approach to establish singleton arc
concistency. In 19th International Joint Conference on Artificial Intelligence(IJCAI’05),
pages 199–204, Edinburgh, Scotland, aug 2005. 240 papiers acceptés sur 1329 '
18%.
[7] Stéphane Cardon and Éric Grégoire. Designing and computing factored markov decision
processes. In Computational Engineering in Systems Applications (CESA’03). IEEE
Computer Press, 2003.
[8] Stéphane Cardon, Abdel-Illah Mouaddib, S. Zilberstein, and R. Washington. Adaptive
control of acyclic progressive processing task structures. In International Joint Conference on Artificial Intelligence (IJCAI’01), volume 1, pages 701–706, Seattle, Washington, USA, jul 2001. Morgan Kaufmann Publishers, Inc. 197 papiers acceptés sur 796
' 24,7%.
Conférences d’audience nationale
[9] Stéphane Cardon, Nathalie Chetcuti-Sperandio, Fabien Delorme, and Sylvain Lagrue.
Pickomania : un logiciel pour jouer à pickomino. In 17eme congrès francophone AFRIFAFIA Reconnaissance des Formes et Intelligence Artificielle(RFIA’10), pages 895–896,
jan 2010. Session démonstrations de logiciels.
11
[10] Stéphane Cardon, Nathalie Chetcuti-Sperandio, Fabien Delorme, and Sylvain Lagrue.
Décision markovienne appliquée à un jeu de stop ou encore : Pickomino (heckmeck
am bratwurmeck). In Rencontres francophones sur la logique floue et ses appllications(LFA’09), pages 159–166. Cépaduès, nov 2009.
[11] Christophe Lecoutre, Stéphane Cardon, and Julien Vion. Consistance duale conservative.
In 3èmes Journées Francophones de Programmation par Contraintes(JFPC’07), pages 1–
9, Rocquencourt, France, jun 2007.
[12] Stéphane Cardon and Christophe Lecoutre. Une approche gloutonne pour établir la
singleton consistance d’arc. In Premières Journées Francophones de Programmation par
Contraintes(JFPC’05), pages 99–108, Lens, France, jun 2005.
Thèse de doctorat
[13] Stéphane Cardon. Résolution de Processus Décisionnels de Markov Totalement Observables de Grandes Tailles. PhD thesis, CRIL - Université d’Artois, oct 2003.
12