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