Documents divers d'enseignement.
Certains des documents proposés sur cette page ne sont accessibles qu'à partir du domaine univ-mlv.fr. Si vous êtes en dehors de ce domaine et qu'un document vous interesse contactez moi.
Mon activité de recherche expliquée aux étudiants en informatique (tentative).
Analyse syntaxique IR2
java -jar $TATOO/lib/tatoo.jar monLexer.xlex -d . javac -cp $TATOO/lib/tatoo-runtime.jar:$TATOO/lib/tatoo.jar lexer/*.java javac -cp $TATOO/lib/tatoo-runtime.jar:$TATOO/lib/tatoo.jar:. TutorialLexer.java java -cp TATOO/lib/tatoo-runtime.jar:$TATOO/lib/tatoo.jar:. TutorialLexer
Stage Unix
Traduction L3 Info
Outils de développement
- Gcc
- Gdb
- La page Web de référence
- Le manuel de référence en ligne.
- Carte de référence rapide sur gdb (ps compressé, le site de provenance).
- Make
- CVS
- La page Web de référence
- Le manuel de référence de la version 1.10 (en ligne, au format pdf, au format texinfo compressé).
- Un livre en ligne sur CVS.
- Des outils pour deboguer les allocations dynamiques !
ccmalloc - A memory profiler/debugger dmalloc - Debug memory allocation library (non-threaded) electric-fence - A malloc(3) debugger fda - C malloc debug library gccchecker - Memory access debugger for C language development libgc6 - Conservative garbage collector for C libgc6-dev - Conservative garbage collector for C (development) libleakbug-dev - Development files for GNUpdate leakbug tracer library libleakbug1 - GNUpdate leakbug tracer library njamd - Not Just Another Malloc Debugger kmtrace - a KDE memory leak tracer libmm11 - Shared memory library valgrind - A memory debugger for x86-linux - Des images pgm
C
Sujet de TD de Licence:
- Creer un repertoire tpC, y aller
- Y mettre les archives libbsort-1.0.tar et bsort-1.0.tar. La premiere contient une bibliothèque (dans lequel a été effacé le seul fichier src/bsort.c) et la seconde un programme utilisant la bibliothèque (dans lequel a aussi été effacé le seul fichier src/bsort_test.c).
- Desarchiver libsort-1.0.tar. Ecrivez le fichier manquant src/bsort.c. Lisez le Makefile. Compilez et construisez une bibliothèque.
- Desarchivez bsort-1.0.tar.
- Ecrivez le fichier manquant src/bsort_test.c: il devra contenir une fonction main qui déclare et initialise un tableau d'entier, appelle la fontion bsort de la bibliothèque, et affiche le tableau en utilisant la fonction bprint de la bibliothèque. Lisez-le Makefile. Compilez et construisez un exécutable, en faisant l'édition de lien avec la bibliothèque contruite à la question précédente (il vous faudra changer une variable du Makefile).
- Même chose mais faites le tri avec bsort2.
- La variable BSORTFCNTL du Makefile permet de préciser, à partir du Makefile, si on veut, dans le main, faire le tri avec bsort ou bsort2. Modifier votre programme pour qu'il agisse de cette manière (utilisez les directives du pré-processeur).
- Ajoutez, dans le main de bsort_test.c, du code pour construire une liste d'entiers, la trier en utilisant la fonction bsort2 de la bibliothèque, et l'afficher en utilisant la fonction bprint de la bibliothèque. Compilez et construisez un exécutable.
- Les assertions (man 3 assert) sont un mécanisme qui permet de faire des tests (par exemple, de validité des paramètres d'une fonction) en pahse de déboguage du logiciel, mais pas en phase de production. Ajouter, dans la bibliothèque, des assertions en début de chaque fonction pour tester la validité (trivialle) des paramètres. Comment peut-on activer/désactiver les assertions à partir du Makefile ?
- Le projet des L3: un similateur de processeur
- Les conventions de présentation du code
- Une page pleine de liens.
- La page du module S3MI de DEUG de Bruno Gauthier contient les TDs, TPs et projets de cette année et des précédentes.
- Carte de référence rapide sur le C (ps compressé, le site de provenance).
- Les commentaires des TPs des S4 (accès restreint au domaine univ-mlv.fr)
Java
- Conventions de présentation du code
- Des exemples d'applets !
- Java et Internet
Programmation générique (en C++)
- Une interview de l'auteur du C++
Quelques liens divers n'ayant rien à voir avec ce que j'enseigne, mais qui peuvent être utiles
- Un dictionnaire des termes informatiques
- Un dictionnaire des algorithmes et structures de données
- Une encyclopédie libre en ligne en plusieurs langues
- Des livres de référence sur les tris, la recherche, l'algorithmique des graphes, la calculabilité
- Les outils LaTeX pour faire des transparents
- Un moteur de recherche spécialisé scolaire/universitaire
ou distrayants
- L'algorithmique expliquée aux gourmants.
- Sur la question P=NP ?.
- Un programme écrit dans plus de 1100 langages de programmation (et variations) !
- Le plus vieil mp3 du monde ! 10 secondes d'"Au clair de la lune", enregistrées en 1860 à l'aide d'un phonautographe (voir aussi ce lien) sur un disque noirci à la fumée et tourné à la main. Il a fallut attendre mars 2008 (soit 148 ans !) pour parvenir à le réécouter. [au-clair-de-la-lu-ne-pie-rrot-ré-pon-dit]
Projets tutorés / Stages de maîtrise
Sont proposés ici des ébauches de sujets pouvant faire l'objet soit d'un projet tutoré, soit d'un stage de maîtrise, suivant la manière dont on le fait. Pour les détails, voir avec moi !
Anciens cours (sans ordre): cours et TP DNS (IG2000 IR1), cours et TP IMAP+POP (IG2000 IR1), cours d'introduction au codage (IG2000 IR1), cours de réseau (Maîtrise [M1] d'informatique), cours et travaux dirigés de C (Licence d'informatique [L3]), travaux dirigés et pratiques de C (Licence d'informatique [L2]), cours de C++ (Maîtrise d'informatique [M1]), cours et travaux dirigés de Java avancé (Maîtrise d'informatique [M1], DESS TTT [M2]), cours de Java (DESS TTT [M2]), travaux dirigés de Java (Licence [L3] et Maîtrise [M2] d'informatique, IG 2000 IR2), travaux dirigés de Java réseau (IG2000 IR2, Maîtrise d'informatique), travaux dirigés de Pascal (DEUG [L1]), travaux dirigés de système (Licence d'informatique [L3]), stage d'introduction à Unix (Licence d'informatique [L3], DESS TTT [M2]), cours d'introduction à l'informatique (DEUG [L1]), travaux dirigés de Caml (Licence d'informatique [L3]), travaux dirigés de calculabilité (Maîtrise d'informatique [M1]), travaux dirigés de structures discrètes (Licence [L2]), travaux dirigés de traduction (Maîtrise d'informatique [M1]), travaux dirigés d'algorithmique, etc


