Dans cet article, vous trouverez une transcription d’une interview de Nicolas Delestre, enseignant du département Architecture des Systèmes d’Information (ASI) et Maître de conférences en Informatique. Il a été mon professeur d’ Algorithmique avancée et programmation C l’année dernière (3eme année).
Le but de cet interview est de partager avec d’autres étudiants de l’école des informations sur le travail d’un chercheur ainsi que son avis sur certaines notions d’informatique (mais également de satisfaire la curiosité qu’on peut avoir sur la vie de nos professeurs ;) ).
J’ai volontairement laissé quelques passages moins liés aux questions posées parce que je trouve qu’ils peuvent être tout de même intéressants.
Interview
Carrière
Morgan Ridel (MR): Pouvez-vous me présenter votre parcours professionnel et vos fonctions actuelles ?
Nicolas Delestre (ND): Mon parcours professionnel… Je n’ai jamais quitté l’école :-). Donc mon parcours professionnel est la suite de mon cursus universitaire. J’ai obtenu un BAC C à l’époque (équivalent d’un BAC S maths-physique). J’ai obtenu un DEUG de mathématiques/informatique et une licence informatique, aujourd’hui on appelle ça la licence (BAC +3) mais à l’époque c’était composé en BAC+2 et BAC+3, puis un DEA en informatique qui est aujourd’hui l’équivalent des masters recherche et une thèse donc un doctorat en informatique. À l’issue de ce doctorat j’ai eu la chance d’avoir un poste à l’INSA. J’étais à l’université de Rouen, j’ai fait mon doctorat à l’INSA sur un laboratoire commun INSA et université, le PSI (Perception Systèmes et Informations). J’ai soutenu en janvier 2000 ma thèse et j’ai eu un poste de maître de conférences en Septembre 2000, je dis bien la chance parce que c’était très dur. Non pas parce que je suis meilleur qu’un autre mais parce que c’était la bulle Internet et qu’il y avait beaucoup moins de concurrence sachant qu’on était pas très bien payé, mon premier salaire était à 1600 €.
Quand je suis arrivé à l’INSA de Rouen, le département ASI venait de se créer (créé en 1999) et plusieurs enseignants étaient déjà là: Stéphane Canu, Michel Mainguenaud, Alain Rakotomamonjy et Philippe Leray (parti en 2007) ainsi que Frederic Baucher. Deux personnes sont arrivées en 2000: Alexandrina Rogozan et moi.
Il y a eu beaucoup de cours à monter. J’ai donc fait beaucoup moins de recherche au début. En 2001-2002 j’ai eu la chance d’avoir un doctorant, Fabien Delorme qui a soutenu sa thèse en 2005 en continuant la mienne (N.D.A : Voir la description de la thèse dans la question suivante) sauf que nous nous sommes concentrés sur le modèle de l’apprenant et sur l’évaluation des connaissances de l’apprenant. Dans mon système je faisais ça par QCM “étendu” mais c’était un peu limité. Il a donc travaillé sur ce problème.
Ensuite je me suis intéressé à la description des ressources pédagogiques. J’ai travaillé à l’AFNOR sur l’aspect normalisation des descriptions des ressources.
J’ai eu une période en tant que directeur de département de 2007 à 2012. J’ai remplacé Philippe Leray qui a obtenu un poste de professeur d’université à Nantes.
N.D.A : Je laisse cette partie pour ceux qui seraient intéressés par les postes d’enseignants chercheurs Il faut savoir qu’il y a deux grades pour les enseignants chercheurs dans l’enseignement supérieur: les maîtres de conférences et les professeurs d’université. Pour devenir maître de conférences il faut trois choses: un doctorat, être qualifié (votre dossier est considéré assez bon pour prétendre postuler à des postes de maître de conférences d’après le Conseil national des universités), puis il faut postuler. Chaque établissement de l’enseignement supérieur propose des postes chaque année (de moins en moins). À partir de là il y a un concours. La première sélection est sur dossier, puis sur audition. J’étais classé deuxième à Rouen, mais le premier s’est désisté pour un autre poste, j’ai donc eu le poste sur Rouen. Pour devenir professeur d’université, il faut l’habilitation à diriger des recherches (l’équivalent d’une thèse pour devenir maître de conférences), accompagnée d’une qualification et des postes.
J’ai donc fait un mandat puis un deuxième en tant que directeur parce que je voulais voir comment se passait l’accréditation de la CTI. L’INSA peut délivrer le diplôme d’ingénieur parce que la CTI (Commission des Titres d’Ingénieur) lui en donne le droit. Elle vient donc faire un audit suite auquel on est accrédité pour 6 ans (tout va bien), 3 ans (il y a des choses à résoudre) ou 1 an (s’il y a de gros problèmes). Je voulais voir comment cela se passait, l’audit s’est déroulé à la fin de mon deuxième mandat. Je l’ai fait en même temps que Gilles Gasso car il venait d’être élu directeur.
Après mon poste de directeur on m’a proposé d’être référent numérique. Ce poste a pour but de représenter l’INSA à Normandie Université qui est l’établissement qui fédère 6 établissements normands: l’université de Rouen, de Caen, du Havre, l’INSA de Rouen, l’ENSICAEN et l’école d’architecture. Je suis donc le représentant de l’INSA pour les aspects numériques. Je suis aussi le représentant de l’INSA pour FUN (France Université Numérique) qui propose des MOOC.
Aujourd’hui je travaille sur les descriptions des offres de formation.
Voilà mon parcours entre universitaire et professionnel. Cela fait donc maintenant ma 18ème année que je “redouble” en ASI :-).
MR: Quel était le sujet de votre thèse ?
ND: ’METADYNE : Un Hypermédia Adaptatif Dynamique pour l’Enseignement’. Alors, qu’est ce que ça veut dire ? On appelle un hypertexte ou hyperdocument, un document qui est relié à un autre document par un lien. Un hypermédia signifie que le contenu peut être différents types de média et pas seulement du texte. Cela peut être des images, du son, de la vidéo, des animations, des logiciels… Il faut savoir que le Web est un cas particulier d’hypermédia, c’est une simplification, il n’y a pas de sémantique entre les liens. Lorsque vous cliquez sur un lien, vous ne savez pas quel est son rôle. Cela permet de relier deux documents mais sans donner de sens. Personnellement, je me suis intéressé aux hypermédias adaptatifs qui ont donc pour but de s’adapter à la personne qui visualise l’hypermédia. Cela implique que l’on ne présente pas la même chose à deux utilisateurs théoriquement différents. Cela m’amène à avoir un modèle d’utilisateur au sein de mon système. Ça c’est pour le côté adaptatif. Enfin, le domaine applicatif étant celui de l’enseignement, ceci amène à 3 choses:
- Un modèle du domaine: comment je représente le modèle que je veux enseigner ?
- Un modèle de l’utilisateur: ici on l’appelle l’apprenant, c’est un élève, un étudiant… Ce modèle est basé sur deux aspects. D’abord ce que l’apprenant préfère voir, certains préfèrent la théorie puis des exemples, d’autres des exemples puis la théorie. Mais aussi ses préférences sur les types de médias tel que le texte, la vidéo ou le son. Ensuite ce que l’apprenant sait. Quelles sont ses connaissances, son manque de connaissances mais aussi ce qu’on appelle ses misconceptions qui représentent ce qu’il croit savoir mais qu’il a mal compris.
- Un modèle des ressources: La page est composée de ressources, comment j’indexe ces ressources pour les sélectionner en accord avec les modèles de l’apprenant et du domaine ?
Ma thèse consistait donc à proposer ces 3 modèles, puis à développer un prototype qui avait pour but de démontrer qu’un algorithme que j’appelais “générateur” était capable de générer une page avec des hyperliens, sémantiques cette fois-ci, à partir de ces 3 modèles. A l’époque j’utilisais le Web pour produire cet hypermédia.
MR: Pourquoi vous êtes-vous orienté vers la voie de l’enseignement et de la recherche et qu’est ce qui a motivé ce choix ?
ND: Deux choses. L’informatique c’est une passion. J’ai commencé l’informatique quand j’avais 14 ans. Je suis né en 1970, j’ai donc commencé en 1984 et l’informatique n’avait absolument rien à voir avec ce qu’il est aujourd’hui. On avait des Micro-Ordinateurs mais il y en avait pleins de différents. J’ai acheté mon premier ordinateur en 85-86, un Amstrad CPC464 avec cassettes, j’enregistrais mes programmes sur mes cassettes. Ensuite j’ai eu un Atari ST. Comme c’était la passion, je passais beaucoup de temps à écrire des programmes…
Par contre j’ai toujours aimé l’enseignement, je voulais être prof de maths. Je suis donc rentré à la fac dans le DEUG maths informatique pour essayer d’être prof de maths. Et je me suis rendu compte que les maths c’est compliqué ! Très compliqué. Et donc pendant ma deuxième année de DEUG je me suis dit que prof de maths ça n’allait pas le faire mais il y avait une licence d’info que j’ai décidé de faire. C’était une licence d’info assez théorique. Typiquement, j’ai passé beaucoup de temps sur les aspects compilations, automates, théorie des langages, etc…
En parallèle à ma maîtrise (BAC +4) j’ai travaillé dans une société à mi-temps pour faire du développement informatique. Je me suis rendu compte que j’aimais bien le développement mais que je ne voulais pas en faire mon métier. Je préférais enseigner. J’ai donc fait une thèse et essayé d’être enseignant chercheur.
MR: Travaillez-vous surtout seul ou en équipe ? Quels avantages ?
ND: Plutôt en équipe, avec Nicolas Malandain qui est arrivé à l’INSA en 2001. On a beaucoup travaillé ensemble sur beaucoup de choses aussi bien sur les aspects pédagogiques que sur les aspects recherche. On a travaillé sur la description des offres pédagogiques ensemble, on a écrit un livre de vulgarisation ensemble. Tous les cours, on les a pensés ensemble. On s’est échangé nos cours. Aujourd’hui il fait le cours de I3, c’était moi qui m’en occupait pendant 10 ans. J’ai repris son cours “Documents” que j’ai transformé en “Document et Web sémantique”
Et j’aime bien travailler en équipe comme ça. Dans notre travail, il y a des phases “persos” où on réfléchit, puis on expose, on échange, on se rend compte que non ce n’est pas la bonne solution ou la bonne façon de faire. Dès que je code, Nicolas et moi discutons beaucoup.
MR: Vous parlez beaucoup de pédagogie, faites-vous encore des travaux de recherches ?
ND: Beaucoup moins. J’ai eu quatre thésards. Depuis 3 ans, je fais moins de recherche. Je participe toujours à des groupes de normalisation qui ont des aspects recherche. Je deviens un peu “l’expert en Web sémantique” pour les aspects descriptions des offres de formations et des ressources pédagogiques. Mais je n’écris plus beaucoup d’articles de recherche. Le dernier doit dater de 2014-2015.
MR: Sur quel projet travaillez-vous en ce moment ?
ND: Sur la pédagogie. J’ai pour objectif de refaire entièrement le cours de compilation (un cours en ligne). Je suis également très investi sur tout ce qui est utilisation du numérique dans la formation. On a investi pas mal de choses dans l’INSA. On a un studio d’enregistrement vidéo avec fond vert etc… qui vient d’être installé cette semaine (N.D.A.: l’interview a eu lieu le 29/09/17).
Je pense c’est que les cours magistraux ont très peu d’avenir. Je suis déçu parce que j’adore ça. Je trouve que c’est un challenge de rendre quelque chose intéressant pour un public divers, surtout en STPI (N.D.A: 2 premières années à l’INSA) devant une centaine de personnes. Mais je pense que cela coûte cher pour un résultat qui est assez médiocre. J’ai une image en tête d’un cours magistral au Moyen-age ou un prof fait cours où des gens dorment, discutent… montrant que cela n’a pas changé aujourd’hui. Je dirais qu’il y a les deux premiers rangs qui écoutent et puis plus on monte, moins ça écoute.
Et donc j’aime bien les cours, il y a un côté spectacle mais je pense que ça va disparaître. Je pense qu’une cours d’1 h 30 peut-être remplacé par 4 vidéos courtes de 5-10 minutes très précises allant à l’objectif et que l’étudiant peut revoir autant de fois qu’il veut. Donc on a besoin de médiatiser ces choses là et l’INSA investit à ce sujet.
On a un studio d’enregistrement, des stations UbiCast, une salle (A-RC-02) a été équipée de façon à pouvoir filmer un enseignant automatiquement. Hier j’ai suivi une formation d’un UbiCast portable pour pouvoir capter un cours dans n’importe quelle salle. Je m’investis beaucoup là dessus et je crois être un des premiers à l’INSA à faire un cours de e-learning, avec tous les côtés “mauvais” car le cours a été réalisé il y a 6 ans, c’est pour ça que je veux le refaire. Il n’est pas très dynamique, il n’y a pas de vidéos mais seulement de la voix off sur des transparents. On va essayer d’améliorer ça.
Niveau recherche, je travaille sur la description des offres de formation, parce que je crois beaucoup au Web des données liées, au Web sémantique. Je pense que l’INSA Normandie Université devrait publier son offre de formation non pas seulement à destination des humains comme on voit sur une page Web mais aussi à destination des machines via le Web sémantique.
Je suis pour l’open data structuré. L’open data c’est “je mets des données en ligne, ouvertes”. Par exemple, OpenStreetMap est un projet qui a eu du mal à prendre au départ en France parce que ça nécessite du temps. Puis le Cadastre qui “gère” les parcelles, les routes etc… a mis en ligne gratuitement ses données. OpenStreetMap a pu les reprendre et donc toutes les routes de France sont apparues dans OpenStreetMap d’un seul coup.
Mais souvent ces données sont de mauvaise qualité dans des formats divers, on trouve du Excel, du csv avec très peu d’informations les concernant. On trouve même du pdf dont on ne peut rien faire. Si vous lisez le livre Du Web des documents au Web sémantique, vous noterez que le but est de publier des données ouvertes en ligne, mais structurées et réutilisables très facilement par les machines. J’aimerais que l’INSA fasse cela pour les offres de formations. Pour qu’elles puissent être réutilisables il faut que cela soit normalisé donc je travaille à l’AFNOR à ce sujet. C’est mon côté recherche.
MR: Qu’est-ce qui vous plaît le plus dans votre travail ?
ND: L’enseignement. J’adore ça. Se poser beaucoup de questions, essayer de rendre abordable des choses compliquées. Je n’ai pas toujours été un très bon élève, je faisais surtout ce que j’aimais. J’aime bien essayer de vulgariser des choses.
J’adore aussi mon travail parce que je n’arrête pas d’apprendre. Par exemple pour le Web, il y a les pages que l’on produit, et la façon dont elles vont être utilisées. Des programmes pourraient en extraire de l’information, voire générer de la nouvelle information. C’est comme une pelote de laine, on commence à tirer et il y a plein de choses qui arrivent, puis il y en a de plus en plus intéressantes ! C’est pour ça que c’est génial, j’apprends constamment et j’ai pas un N+1 qui me dit “tu dois bosser là-dessus”, je travaille sur ce que je veux.
MR: Et ce qui vous plaît le moins ?
ND: L’administratif. J’ai l’impression qu’on en fait de plus en plus. Il y a des choses que je trouve parfois inutiles parce qu’on n’a pas les bons outils, parfois on doit redonner 3 fois la même information. Vous devez le voir aussi en tant qu’étudiant. À l’INSA il y a 2 “tutelles”, le ministère et la CTI et les deux demandent des remontées d’informations qui sont pas tout à fait les même. On doit produire de plus en plus d’indicateurs, c’est important pour diriger, mais il faut réfléchir à “Combien de temps me coûte cette information à produire et combien ça me rapporte ?“. Et j’ai l’impression qu’aujourd’hui la balance est déséquilibrée et que cela coûte de plus en plus de remontées d’informations sans rapporter autant.
On voit l’informatique partout mais parfois ce n’est pas à bon escient. On passe plus de temps à saisir des informations qu’à les utiliser par la suite.
MR: Qu’aimeriez-vous vous avoir accompli dans les 6 prochains mois ?
ND: Avoir terminé mon cours de compilation, pour l’avoir en ligne dès le mois de janvier. Mais aussi améliorer les offres de formations. Pour information, les RUNN (Rencontres Universitaires Numériques Normandes) auront lieu fin novembre qui sont à destination des enseignants, du personnel mais aussi des étudiants. Le thème c’est l’open data.
Aujourd’hui quand vous rentrez à l’INSA vous êtes obligés de suivre un cursus quoi que vous vouliez faire par la suite. Moi je rêve qu’en partant d’un étudiant qui sait ce qu’il veut faire comme métier on puisse dire “Quelles sont les compétences requises pour faire ce métier ?“. À partir de là on détermine quels sont les cours qui forment à ces compétences. Puis en fonction des pré-requis de ces cours on forme une chaîne. Un logiciel aiderait l’humain à définir un parcours qui serait individualisé. Bien sur, cela ne pourrait pas être vu au niveau de l’INSA mais au niveau de Normandie Université.
Un étudiant voudrait avoir telle compétence, c’est peut-être un cours à l’université de Rouen, du Caen, du Havre. J’aimerais que des systèmes puissent le savoir et déterminer le parcours requis.
Donc en recherche j’aimerais avoir avancé sur cet aspect de description des offres de formations.
Programmation et avis
MR: Qu’est-ce qui vous irrite le plus en regardant le code de quelqu’un d’autre ?
ND: : La non-lisibilité. Programmer c’est communiquer. Avec la machine mais aussi avec ses collègues. Quand je corrige des copies, évaluer un algo illisible, c’est insupportable. Le mauvais choix des identifiants peut rendre un code correct très peu lisible et me faire croire qu’il ne fonctionne pas.
MR: Récemment, j’ai lu le livre Clean Code de Robert C. Martin, on y trouve la définition du “code propre” par plusieurs programmeurs. Et vous, comment définiriez-vous du “code propre” ?
ND: Un code propre c’est un code qui est modulaire et lisible. S’il respecte ces critères, il a pleins d’avantages. Lisible signifie que les identifiants sont significatifs et que le code est bien indenté. Modulaire signifie que chaque partie va être courte, ce qui permet la ré-utilisabilité et sa fiabilité (tests unitaires). Pour moi c’est ça un bon code. Si on met des commentaires, c’est que le code n’est pas lisible et donc qu’il n’est pas bien fait.
MR: Selon vous, quand est-ce qu’il est bénéfique de “réinventer la roue” ?
ND: Souvent on invente la roue par méconnaissance. Par exemple, quand je me suis mis au Python il y a une dizaine d’années. En ayant mal lu la documentation, j’ai réinventé la roue. J’ai recodé mes sets.
On apprend par allers-retours. Il faut commencer par apprendre en lisant de la documentation. Ensuite on apprend en faisant. Quand on fait, on va se poser des questions et donc on revient sur la documentation etc… L’informatique est une science, j’insiste bien sur le mot science, qui est assez récente. Cela date des années 30 d’un point de vue théorique et des années 60-70 d’un point de vue pratique. Depuis cette science a quand même eu le temps de produire beaucoup de choses, c’est donc rare qu’on ait besoin de réinventer la roue. À mon niveau je ne vois aucune raison de le faire. Attention, il y a tout un tas de domaines de l’informatique que je ne maîtrise pas du tout. L’informatique est large, très large. J’ai une formation assez étendue, assez théorique mais il y a de nombreuses choses que je ne connais pas.
Je pense qu’on doit détacher de la technologie. On doit apprendre en nous outillant des concepts et pas des technos. Par contre c’est important d’utiliser des technos pour mettre en œuvre des concepts afin de bien les comprendre. Typiquement vous allez avoir un cours d’informatique répartie au prochain semestre (N.D.A: 4ème année second semestre). Derrière ce cours il y a un design pattern qui s’appelle le Remote Proxy. Et il y a pleins de façon de le mettre en œuvre. Mais c’est le design pattern qui est important, une fois qu’on l’a compris c’est bon. Comme dans un langage, une fois qu’on a compris les principes de la programmation orientée objet, on s’y retrouvera quel que soit le langage orienté objet. Je soutiens plus l’enseignement des concepts que de la technique.
MR: Quels livres techniques recommanderiez-vous sans hésiter (2 max) ?
ND: Pour un étudiant en informatique, le premier serait Conception et programmation orientées objet de Bertrand Meyer. C’est toute la base de la bonne programmation orientée objet et on se pose beaucoup de questions à sa lecture. Par exemple le concept de surcharge syntaxique et j’insiste bien sur syntaxique. Le fait d’avoir une méthode qui a plusieurs signatures avec le même identifiant, c’est quelque chose que j’aimais bien quand j’étais étudiant, je trouvais ça génial et en fait je suis revenu dessus. Je pense que c’est une mauvaise idée. Et c’est en ayant lu ce livre que je me suis posé ces questions, donc il est vraiment bien.
Un autre livre plus pour réfléchir c’est le GEB (Gödel, Escher, Bach) de Douglas Hofstadter. Je l’ai jamais fini, ça ne se lit pas comme un roman. Ça ne se lit pas d’une façon linéaire. J’en discutais avec un collègue qui l’a aussi et il y a des choses qu’il n’a pas compris mais ça permet de se poser pleins de questions sur les fondements de l’informatique. Qu’est ce qui est calculable ? Qu’est ce que l’informatique ? Les anglais utilisent le terme de “computer science” pour l’informatique je trouve que c’est mieux. La “science du calculable” et donc qu’est ce que le calculable ? Qu’est ce que l’on sait que l’on ne saura jamais faire avec un ordinateur ?
Par exemple, la récursivité terminale et non-terminale que je viens de revoir avec les ASI 3. Je leur dis qu’un algo récursif terminal, quel que soit cet algo, peut être traduit automatiquement par un autre algorithme en un algorithme itératif équivalent. Par contre, il n’existe aucun algorithme permettant de transformer automatiquement tout algo récursif non terminal en itératif. Je ne dis pas qu’on ne peut pas le faire, mais qu’il n’existe pas d’algo générique ! Et il n’en existera jamais ! C’est Turing qui a travaillé pendant les années 30 sur ce concept de calculabilité.
Donc ce livre revient sur tous ces aspects là, c’est un livre très compliqué mais très interessant.
D’un côté les aspects pratiques, je veux bien programmer et concevoir : Conception et programmation orientées objet de Meyer. De l’autre je veux réfléchir: le GEB.
MR: Un livre non technique à recommander ?
ND: J’ai 3 romans à recommander. Parmi eux il y en 2 dont je me suis dit qu’on ne pouvait pas en faire un film. Ce n’est pas possible parce que si on en fait un film on dévoile la fin du livre dès le début.
La Planète des singes, c’est très court ça se lit bien et les Nymphéas noirs de Michel Bussi, un roman policier. Dans celui-ci le dernier chapitre dévoile tout le bouquin, et je me suis dit qu’on ne peut pas en faire un film. Pour la planète des singes on va me dire qu’il y a des films, oui mais ils ne représentent pas le livre.
Le 3ème livre qui m’a marqué est La Maladie de Sachs. Dans ce livre, le narrateur, le “je” change tout le temps. Ce n’est jamais le personnage principal, ici le “je” c’est tous les autres. Le personnage principal c’est le docteur Sachs et le “je” c’est sa femme, ses enfants, ses patients, ses collègues etc… Et j’ai trouvé ce bouquin très intéressant, il sort de l’ordinaire.
MR: Comment trouvez-vous vos idées de projets ou d’exercices de TDs ?
ND: Ah bonne question ! De mon passé, les projets que je vous demande c’est souvent des trucs que j’ai codé quand j’étais étudiant. Typiquement le correcteur orthographique, je l’ai codé en BAC+2.
Ensuite, CodinGame. J’ai récupéré 2 exos de CodinGame que j’ai mis en examen. “Batman” où il faut trouver la bombe dans un immeuble, c’est une dichotomie en deux dimensions. Et puis Skynet, une recherche de chemin le plus court dans un graphe.
Mais aussi en discutant avec des collègues, par exemple j’ai des exercices sur le traitement du signal parce que je voulais changer un petit peu des trucs classiques donc j’ai discuté avec Clément Chatelain. Je lui ai demandé ce qu’il faisait sur ses signaux, un truc pas trop mathématique qui serait un peu plus algorithmique etc…
Il y a aussi des choses que j’ai eu en recherche. J’ai dû coder un algo sur des ensembles, je me suis dit qu’il était intéressant et qu’il ferait un bon exercice ou un bon examen.
Au début de ma carrière j’étais plus exigeant sur l’inventivité aux examens. Aujourd’hui je demande plus d’être capable de réfléchir et savoir contextualiser un examen. Je demande moins de créativité alors que j’en demandais plus avant parce que je considère qu’un examen dure 3 h, on est stressé, etc… Ce ne sont pas des bonnes conditions pour avoir de la créativité. Le PIC (N.D.A. : projet s’étalant sur 1 an à réaliser pour une entreprise) c’est un bon endroit pour la créativité. Et quand je suis tuteur de PIC, je ne donne pas de solutions, je demande aux étudiants qu’ils créent qu’ils réfléchissent, se trompent etc…
Pour résumer, je trouve mes sources d’inspiration dans mon expérience, ce que je peux lire et grâce à mes collègues.
MR: Aujourd’hui vers quelle technologie conseilleriez-vous à un étudiant de s’orienter ?
ND: D’un point de vue techno (et pas science) Python. Je pense que c’est le couteau suisse des 10 ans qui viennent. En fait pour être honnête, mon directeur de thèse qui avait le nez très fin est venu poser un bouquin sur mon bureau en 97 en me disant “tu devrais bosser là dessus”, c’était un livre sur Python. Je développais en Java à l’époque. Je me disais que j’avais autre chose à faire et je suis revenu dessus en 2002-2003 et quand j’ai étudié ce langage je me suis dit qu’il avait du nez parce que Python date des débuts 90.
Un autre langage c’est Scala, un langage fonctionnel qui se base sur la JVM (Java Virtual Machine).
Donc en techno, Python et Scala. Sachant que Scala je ne maîtrise pas du tout, j’ai lu mais j’en ai jamais fait. Comme je le disais tout à l’heure pour apprendre il faut lire, faire, lire etc… Mais je connais de très bons anciens doctorants du LITIS qui adore Scala et je pense que s’ils aiment Scala ils ont raison.
Pour ce qui est des frameworks, aucun intérêt. Les frameworks ça passe, ça vient, ça disparaît, ça réapparaît.
En dehors des technos, en concept je conseillerais d’étudier les paradigmes, ne pas faire que du structuré et de l’objet. Il faut voir le fonctionnel, voir l’événementiel. Par exemple, bien que je ne l’ai jamais utilisé, URBI, un langage du paradigme de programmation parallèle et évènementielle semble bien adapté au développement de programme de robotique.
Dans votre cursus on vous enseigne principalement du structuré et de l’objet, un petit peu l’événementiel via Swing en Java.
Questions suggérées par des étudiants
MR: Quel conseil principal donneriez-vous à quelqu’un pour qu’il s’améliore en programmation ?
ND: Faire. Pratiquer (N.D.A: Je suis bien d’accord). Comme j’ai dit, on lit, on fait, on lit, on fait. Quand j’ai commencé à 14 ans je développais des jeux parce que c’était des jeux qui m’intéressaient. Il faut faire mais ça prend du temps ha ha :-).
Il faut aussi échanger et collaborer. Quand on est tout seul face à un bug, on peut mettre très très longtemps à le trouver. Première chose que je fais quand ça fait 10-15 min et que je n’arrive pas à comprendre pourquoi ça ne marche pas, je vais voir Nicolas. Je lui explique, on étudie le code tous les deux et c’est souvent résolu en 5-10 min.
Aujourd’hui vous avez énormément de façons différentes d’obtenir de l’information, moi, à l’époque, en 84-85, j’avais uniquement mon livre. Parfois aujourd’hui on réfléchit moins parce qu’on peut trouver plus vite, alors que moi si je ne trouvais pas je devais réfléchir et parfois ce n’est pas mauvais. C’est en ayant merdé qu’on apprend.
Je trouve que lorsqu’on vous fait faire des TPs en binôme, celui qui ne tape pas est très passif. Alors qu’il devrait critiquer constamment l’autre et il devrait y avoir changement de rôle à mi-TP.
Donc oui, faire et collaborer.
MR: Que pensez-vous de la technologie Ruby vis-à-vis du Python ?
ND: Ha ha ! Je ne connais pas bien Ruby mais de ce que j’ai pu voir, syntaxiquement, je préfère Python. Je vais peut-être dire des bêtises, mais c’est un peu comme Perl, j’ai jamais compris ce langage. C’était très en vogue dans les années 90, beaucoup de CGI (command gateway interface) en Perl et je trouvais ça illisible. Mais Ruby je pense quand même que ça doit être mieux. Ruby on Rails j’en entends beaucoup de bien. Mais je ne connais pas assez donc pour moi c’est Python.
MR: Quel est votre ratio enseignement/projets personnels/auto formation ?
ND: L’enseignement me prends beaucoup de temps. Je pense que les étudiants ne se rendent pas compte souvent. Ils s’en rendent compte quand ils doivent enseigner ! Moi je considère qu’une heure de présentiel devant les étudiants, les premières fois, c’est au moins 10 à 15 heures de travail derrière. Quand le cours n’existe pas mais en connaissant déjà le contenu du cours ! Ça peut nous arriver qu’un collègue parte, il faut le remplacer, donc on doit étudier toute la littérature avant. Pour moi ça se prépare 6 mois à l’avance, beaucoup de mes trajets en métro sont de la lecture.
Une fois qu’on connaît le cours, je pense qu’une heure de présentiel c’est 10 h de travail en amont. Pour information, pour les vidéos courtes comme pour le MOOC que j’ai fait, 5 à 10 minutes de vidéos c’est 2 jours de travail complet (écrire les transparents, écrire ce que l’ont dit, enregistrer, monter, synchroniser…). Il faut organiser les idées, trouver les bons exemples, coder les exemples.
C’est donc l’enseignement qui me prend le plus de temps, mais c’est ce que j’aime donc ça ne me dérange pas. Je ne le fais plus aujourd’hui mais pendant très longtemps je bossais tous les week-end.
Conclusion
MR: D’autres remarques ?
ND: Une chose à dire, les étudiants pensent souvent que les enseignants n’en ont rien à faire des évaluations de fin de semestre. En fait ce qu’il se passe, c’est que les enseignants qui adorent la pédagogie adorent les retours et modifient leurs cours en fonction. Je suis prêt à montrer toutes mes différentes versions de mes cours ! Mon cours d’algo que j’ai commencé en 2000 on pourrait se dire “ça fait 18 ans qu’il le fait, il fait rien”. Mon cours d’algo change de manière assez importante tous les 2 ans ou 3 ans parce que je rajoute un cours ou autre. Typiquement il y a 3 ans j’ai rajouté les B-arbres. Je peux vous dire que pour les comprendre il faut les coder. Ça prends beaucoup de temps ! 2 ans avant cela j’ai rajouté la programmation dynamique. C’était un challenge, il fallait beaucoup de lecture, beaucoup de codage. Le problème du sac à dos par exemple, je l’avais déjà vu quand j’étais jeune mais j’ai passé un bon nombre d’heure sur le tableau avec Nicolas en discutant pour que cela soit compréhensible.
Moi j’adore, et j’attends les retours. En ASI on l’a toujours fait, même avant que cela soit institué dans l’INSA, on le faisait avec des papiers. On aime les retours positifs mais aussi le négatif. Si c’est du négatif construit, je suis preneur. Même si je n’ai pas le temps de le mettre en oeuvre tout de suite, je suis preneur.
Plus d’informations
Nicolas Delestre possède une page sur le site de l’INSA Rouen.
Vous avez aimé cette interview ? Vous voulez en voir d’autres ? N’hésitez pas à me le faire savoir dans les commentaires !