Jean-Pierre Fournier


photo de jpf

Document made with KompoZer

Valid HTML 4.01 Transitional


Au  cours de ma carrière d'enseignant en informatique à l'Université de Paris-Sud XI, j'ai produit quelques ressources pédagogiques qui pourraient être utiles aux personnes souhaitant découvrir les mystères de la programmation, ou approfondir leurs connaissances.
Ces ressources se composent de livres, de supports de cours, d'exemples, de logiciels et de supports animés.
La plupart des éléments présentés sont liés à l'algorithmique, que j'ai longtemps enseigné, et qui a beaucoup évolué  dans les dernières années, notamment avec l'arrivée de la programmation "orientée objet".
Il est difficile de résumer cela en quelques mots :

Les livres :

Ces deux ouvrages étaient initialement destinés aux étudiants de premier cycle universitaire. Le premier livre que j'ai publié chez Vuibert Informatique présente les principaux concepts de l'algorithmique objet sans les relier à un langage de programmation précis.
Le logiciel ActiveTutor permet l'animation des algorithmes qui y sont présentés. Ce livre a été rapidement épuisé, puis a bénéficié d'un re-tirage.
.image de couverture

Le second, quelques années plus tard, était destiné aux personnes souhaitant découvrir en même temps les techniques algorithmiques et un langage de programmation permettant de mettre en oeuvre les concepts les plus sophistiqués. Ce langage aurait pu être par exemple Java ou Ada mais ces langages de programmation ont tous deux des contraintes que C++ n'a pas, même s'il comporte quelques défauts, liés en grande partie au fait qu'il est un descendant du langage C des années 1970.
Photo de couverture

Ce livre a été rapidement épuisé, puis ré-édité.

Les principales améliorations de la seconde édition par rapport à la première sont :

jolie ligne de séparation

Les supports de cours

La plupart des cours que j'ai eu l'occasion de donner étaient réalisés à l'aide de diaporamas Microsoft Powerpoint©. Ils sont classés ci-dessous par matière enseignée. Pour accéder à ces fichiers, il suffit de disposer du logiciel Acrobat Reader©.cliquez pour voir une capture d'écran

Algorithmique et C++

Un cours d'introduction au rôle et à la place de l'algorithmique.
Une autre version pour introduire le rôle et la place de l'algorithmique.
Un cours sur les déclarations d'objets et les exceptions en C++.
Un cours sur les objets et les classes.
Un cours sur les fichiers.
Un cours sur les listes chaînées. Un outil de visualisation de listes chaînées permet de mieux se rendre compte de ce qui se produit quand on ajoute des éléments dans ce type de structure de données.
Un cours sur les arbres binaires avec des exemples de mise en œuvre en C++.
Un cours sur deux variétés d'arbres binaires différentes, les ABR (arbres binaires de recherche) et la technique de compression de fichiers de Huffmann.
Un cours sur les arbres n-aires.
Un cours sur la généricité.
Un cours sur l'héritage et les particularités de sa mise en œuvre en C++.
Un cours sur l'héritage comme moyen d'organisation et de rangement intelligent.
Un petit cours sur l'algorithme de compression de données LZW.

C

Un cours d'introduction à l'algorithmique et au langage C.
Un cours sur les bases et l'histoire du langage C.
Un cours sur l'utilisation de pointeurs en C.
Un cours sur la manipulation de tableaux en C.
Un cours sur l'utilisation de sous-programmes en C.

Java

Un cours d'introduction au langage Java.
Un cours sur la construction d'interfaces homme-machine graphiques avec Java.
Un cours sur les flux en Java.
Un cours sur la généricité en Java.
Un cours sur l'héritage en Java.
Un cours sur la gestion des images en Java.

Java et le Web

Un cours sur la technique client/serveur RMI en Java.
Un cours sur l'utilisation de servlets avec Java.
Un cours sur les JSP (Java Server Pages).
Un cours sur les applets Java (composants actifs de pages Web).

Java et Xml

Un cours sur les interactions Java - Xml

Xml

Une présentation générale du méta-langage Xml

C++ ou Java ?

Un comparatif (en anglais).

Javascript

Un cours sur les bases de ce langage utilisé dans les pages Web actives (côté client principalement), avec quelques exemples et recommandations simples.

jolie ligne de séparation

Quelques exercices avec leur corrigés.

J'ai rassemblé dans ce document les exercices d'algorithmique (avec corrigés) qui étaient destinés aux étudiants préparant le DUT informatique en 1 an à l'Iut d'Orsay (de 2002 à 2008)
Par ailleurs, voici 3 exercices d'initiation au langage Xml (avec corrigés)
Le premier exercice comporte l'écriture d'un fichier xml sans contrôle de cohérence, puis l'adaptation de ce fichier à un contrôle de cohérence fourni par l'intermédiaire d'une DTD, puis la réalisation d'un programme C++ produisant automatiquement à partir de données un fichier XML avec cohérence contrôlée.
Le second exercice amène les étudiants à modifier une DTD, à adapter leur programme du premier sujet en conséquence, et à réaliser un transformateur xsl permettant de présenter le contenu de leur fichier XML de manière plus jolie
Le troisième exercice consiste en une initiation à l'utilisation de schémas XML (XSD) pour aborder autrement le problème général du contrôle de cohérence des documents XML, toujours sur la même base.

jolie ligne de séparation

Les exemples

Un jeu de pendu en Java, comme exemple de conception d'interface graphique.
Un jeu d'explosion de bulles en Java, comme exemple plus sophistiqué d'interface graphique.
Un outil de conversion de monnaies en Java (conversion Francs -> Euro et inverse)

jolie ligne de séparation

Les animations

Un outil de visualisation de listes chaînées,
Un outil de visualisation d'arbres binaires de recherche,
Une démonstration de déroulement de quelques algorithmes de tris rapides

jolie ligne de séparation

Les logiciels

Au cours des séances d'algorithmique, il est bon de montrer aux étudiants ce qui se passe en mémoire pendant leur déroulement. J'ai développé à cet effet un logiciel d'animation d'algorithmes dont une version allégée peut être téléchargée.

jolie ligne de séparation


Cette page a été consultée 8986 fois depuis le 23 novembre 2008