<?php include "header.html"; ?>

<h1>Mes cours en DUT</h1>


<p>J'ai cr&eacute;&eacute; &agrave; l'IUT 5 cours
diff&eacute;rents. je les d&eacute;cris dans l'ordre
chronologique.</p>

<a name="architecture"></a>
<h2>Architecture</h2>


<p>J'ai fait &agrave; mon arriv&eacute;e &agrave;
l'IUT de Villetaneuse un cours d'architecture plus orient&eacute;
vers le processeur que vers l'ensemble des composants de la machine. Il
devait beaucoup &agrave; Tannenbaum pour ce qui est de la
pr&eacute;sentation des micro-instructions. J'ai chang&eacute;
plusieurs fois de machine depuis et je ne trouve plus trace du
polycopi&eacute;. </p>


<h2>Syst&egrave;me</h2>


<p>J'ai &eacute;t&eacute; &agrave; l'initiative de la
s&eacute;paration du cours syst&egrave;me en deux parties : un
cours d'initiation en premi&egrave;re ann&eacute;e, et un cours
un peu plus fondamental en seconde ann&eacute;e. </p>

<a name="systeme1"></a>
<h3>Premi&egrave;re ann&eacute;e</h3>


<p>Le plan du cours syst&egrave;me de premi&egrave;re
ann&eacute;e figure dans le tableau. Les polycopi&eacute;s sont
assez succincts, car je prenais le temps d'expliquer au tableau. Les TD
ne couvrent en g&eacute;n&eacute;ral qu'une partie du cours. Un
des objectifs &eacute;tait de montrer le fonctionnement d'un
interpr&eacute;teur de commandes, au moins de fa&ccedil;on
rudimentaire.</p>


<table border="1">
  <tbody>
    <tr>
      <th>Cours</th>
      <th>TD</th>
    </tr><tr>
      <td><a href="./systeme/cours/cours1Intro.pdf">1</a>.
Structure d'un SE, diff&eacute;rents types d'interface. </td>
      <td><a href="./systeme/td/TD1_unix.pdf">1</a>.
Initiation aux commandes d'Unix. </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours2Traduc.pdf">2</a>.
Le cycle programme 1 : Compilation : diff&eacute;rentes
&eacute;tapes, compilation de fichiers
s&eacute;par&eacute;s, port&eacute;e et variables externes,
fonctions externes </td>
      <td><a href="./systeme/td/TD2-compil.pdf">2</a>.
Travail du pr&eacute;-processeur, du compilateur, du linker </td>
    </tr><tr>
      <td width="50%"><a href="./systeme/cours/Cours3Execution.pdf">3</a>. La
m&eacute;moire allou&eacute;e au processus :
diff&eacute;rences entre le code ex&eacute;cutable et le
processus en m&eacute;moire (donn&eacute;es non
initialis&eacute;es, pile). Allocation dynamique, dur&eacute;e
de vie, port&eacute;e </td>
      <td><a href="./systeme/td/TD3Chargement.zip.tar">3</a>.
gestion des malloc(), free()et de la pile, variables statiques,
externes, globales. (<em>supprimer le suffixe tar du fichier pour
garder un .zip, puis d&eacute;compresser</em>) </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours4AppelSys.pdf">4</a>.
Biblioth&egrave;ques, appels syst&egrave;me (en C : system(),
etc.) </td>
      <td><a href="./systeme/td/TD4appelsSys.pdf">4</a>.
hostname(), time(), stat(), system(). </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours5Processus.pdf">5</a>.
Processus et multit&agrave;che ; t&agrave;che de 1er plan,
t&agrave;che de fond </td>
      <td><a href="./systeme/td/Td5_proces.pdf.pdf">5</a>.
Visualiser les processus. </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours6Env.pdf">6</a>.
Le programme et le SE : argv, env Options de la ligne de commande. lire
l'environnement dans un programme. </td>
      <td> <a href="./systeme/td/TD6_environ.pdf">6</a>.
Lecture et utilisation de l'environnement </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours7Fichiers.pdf">7</a>.
Les fichiers (types de fichier, programmation en C sous Unix,
entr&eacute;e et sortie standard) </td>
      <td><a href="./systeme/td/td7Fichiers.pdf">7</a>.
un ou deux exercices sur les fichiers + compl&eacute;ter le
mini-interpr&eacute;teur pour qu'il ex&eacute;cute des scripts </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours8Utilit.pdf">8</a>.
Compl&eacute;ments sur les utilitaires Unix </td>
      <td><a href="./systeme/td/td8Util.pdf">8</a>.
Exemples d'utilisation </td>
    </tr><tr>
      <td><a href="./systeme/cours/cours9Scripts.pdf">9</a>.
&eacute;crire des scripts sous Unix (C-shell) </td>
      <td><a href="./systeme/td/td9Scripts.pdf">9</a>.
Exemple de scripts, .cshrc, avec le <a href="./systeme/td/td9Scripts-corr.pdf">corrig&eacute;</a>
      </td>
    </tr><tr>
      <td colspan="2">10. (pas le temps cette ann&eacute;e)
Debuguer et mettre au point : outils pour la programmation ( make et la
re-compilation, tracer un programme (C et Java)) </td>
    </tr>
  </tbody>
</table>

<a name="systeme2"></a>
<h3>Seconde ann&eacute;e</h3>

<p>L'objectif &eacute;tait l&agrave; de donner des
notions plus fondamentales sur le syst&egrave;me d'exploitation
comme instrument de partage de ressources (processeur,
m&eacute;moire, etc.) entre processus. La premi&egrave;re
version des TD a &eacute;t&eacute; enti&egrave;rement
r&eacute;dig&eacute;e par Amal el Fallah et Sylvie Szulmann. </p>

<table border="1">
  <tbody>
    <tr>
      <td> Partage du temps, Partage du/des
processeurs&nbsp;: ordonnancement (1) </td>
      <td> <a href="./systeme/td2/td1processus.pdf">TD1</a>
        Alloc processeur <b>ou</b> <a href="./systeme/td2/TD1AllocProc.pdf">
        TD1</a> Alloc processeur (court) + processus </td>
    </tr><tr>
      <td> Partage du/des processeurs&nbsp;: ordonnancement(2) </td>
      <td> <a href="./systeme/td2/TD2AllocProc.pdf">TD/TP</a>
        Alloc processeur (suite) + <a href="./systeme/td2/gestion.c">
        code</a> </td>
    </tr><tr>
      <td> Partage de la m&eacute;moire&nbsp;: M&eacute;moire
        lin&eacute;aire, segmentation, swapping </td>
      <td> <a href="./systeme/td2/TD3MemLineaire.pdf">TD3</a>
        m&eacute;moire lin&eacute;aire </td>
    </tr><tr>
      <td> Partage de la m&eacute;moire&nbsp;:
        M&eacute;moire virtuelle </td>
      <td> <a href="./systeme/td2/td4SegmentPagin.pdf">TD4</a>
        gestion de la m&eacute;moire virtuelle </td>
    </tr><tr>
      <td> Communication et synchronisation entre
        processus&nbsp;: tubes et signaux </td>
      <td> <a href="./systeme/td2/TD5processSignaux.pdf">TD5</a>
        tubes et signaux </td>
    </tr><tr>
      <td> Partage de m&eacute;moire et de code&nbsp;:
        Threads et DLL </td>
      <td> TD5 tubes et signaux </td>
    </tr><tr>
      <td> Synchronisation des Threads&nbsp;:
        s&eacute;maphores, moniteurs </td>
      <td> TD8-threads </td>
    </tr><tr>
      <td> Les E/S </td>
      <td> TD E/S </td>
    </tr><tr>
      <td> Le SGF </td>
      <td> <a href="./systeme/td2/TD9SGF.pdf">TD SGF</a>
      </td>
    </tr><tr>
      <td> Gestion des terminaux </td>
      <td> TD Terminaux </td>
    </tr>
  </tbody>
</table>

<a name="algorithmique"></a>
<h2>Algorithmique avanc&eacute;e </h2>

<p>C'est un cours de seconde ann&eacute;e qui
s'&eacute;tend sur 10
semaines. Les cours et les TD sont assez denses, aussi il n'y en a que
8. j'ai cette ann&eacute;e fait beaucoup de place &agrave; une
pr&eacute;sentation th&eacute;orique, mais il n'est pas
&eacute;vident &agrave; ce stade de la formation que
l'acc&egrave;s direct &agrave; l'abstraction soit plus rapide.
Le TD1 entre autre est trop long. L'ann&eacute;e prochaine sera
sans doute un peu plus exp&eacute;rimentale.</p>

<p>Les enseignants peuvent me demander le code si cela les
int&eacute;resse.</p>

<table border="1">
  <tbody>
    <tr>
      <td> <a href="./algoA/Cours1PilesFilesListes.pdf">Cours
        1</a> : introduction, piles, files, listes
      </td><td>
        <a href="./algoA/td"> TD 1</a> : piles, files, listes
      </td>
    </tr><tr>
      <td> <a href="./algoA/Cours2implemSDA.pdf">Cours
        2</a> : impl&eacute;mentation des SDA
      </td><td>
        <a href="./algoA/td"> TD 2</a> :
        impl&eacute;mentation des SDA
      </td>
    </tr><tr>
      <td> <a href="./algoA/Cours3SDALogiciel.pdf">Cours
        3</a> :SDA et conception de logiciel
      </td><td>
        <a href="./algoA/td">TD 3</a> : Un
        robot manipulateur de palettes
      </td>
    </tr><tr>
      <td> <a href="./algoA/cours4&amp;5arbresExpressions.pdf">
        Cours 4 et 5</a> : arbres et expressions arithm&eacute;tiques
      </td><td>
        <a href="./algoA/td">TD 4</a> :
        Arbres <a href="./algoA/td">TD5</a> : conversion
        d'&eacute;critures pr&eacute;-, post- et infix&eacute;es
      </td>
    </tr><tr>
      <td> <a href="./algoA/cours6tasTrisComplex.pdf">Cours
        6</a> : tas, tris , complexit&eacute;
      </td><td>
        <a href="./algoA/td">TD 6</a> : tas
      </td>
    </tr><tr>
      <td> <a href="./algoA/cours7performances.pdf">Cours
        7</a> : mesures de performances
      </td><td>
        <a href="./algoA/td">TD 7</a> :
        comparaison des performances de quelques tris
      </td>
    </tr><tr> 
      <td> <a href="./algoA/cours8progRecursive.pdf">Cours
        8</a> : programmation r&eacute;cursive
      </td><td>
        <a href="./algoA/cours7performances.pdf">TD
        8</a> : programmation r&eacute;cursive
      </td>
    </tr>  
  </tbody>
</table>

<a name="introinfo"></a>
<h2> Introduction &agrave; l'informatique </h2>

J'ai essay&eacute; deux fois de faire un petit cours en d&eacute;but de
formation, pour rassembler quelques notions de base qui ont un impact
imm&eacute;diat sur les manipulations (par exemple la diff&eacute;rence
entre texte dans une fen&egrave;tre/buffer et fichier sur le disque, ou
la notion de codage implicite dans toute d&eacute;finition de
donn&eacute;es) et mettre en perspective les cours les uns par rapport
aux autres. Ci-dessous la seconde version.<br>

<table border="1">
    <tr>
      <td><a href="./intro1A/IntroCours1.pdf">Cours 1</a> L'ordinateur</td>
      <td><a href="./intro1A/IntroTD1.pdf">TD1</a> Premier contact</td>
    </tr><tr>
      <td><a href="./intro1A/IntroCours2.pdf">Cours 2</a> Utiliser Unix</td>
      <td><a href="./intro1A/IntroTD2.pdf">TD2</a> Quelques commandes</td>
    </tr><tr>
      <td><a href="./intro1A/IntroCours3.pdf">Cours 3</a> Codage</td>
      <td><a href="./intro1A/IntroTD3.pdf">TD3</a> Bases, ascii</td>
    </tr><tr>
      <td><a href="./intro1A/IntroCours4.pdf">Cours 4</a> Entiers</td>
      <td><a href="./intro1A/IntroTD4.pdf">TD4</a> Binaire, octal, hexa</td>
    </tr><tr>
      <td><a href="./intro1A/IntroCours5.pdf">Cours 5</a> Formats de
    donn&eacute;es, sauvegardes</td>
      <td><a href="./intro1A/IntroTD5.pdf">TD5</a> Exemples de formats</td>
    </tr><tr>
      <td><a href="./intro1A/IntroCours6.pdf">Cours 6</a> Disques durs</td>
      <td><a href="./intro1A/IntroTD6.pdf">TD6</a> Capacit&eacute;, temps
    d'acc&egrave;s</td> 
    </tr><tr>
      <td><a href="./intro1A/IntroCours7.pdf">Cours 7</a> Couche logicielle</td>
      <td><a href="./intro1A/IntroTD7.pdf">TD7</a> Figures dans un terminal </td>
    </tr><tr>
      <td><a href="./intro1A/IntroCours8.pdf">Cours 8</a> R&eacute;seau d'ordinateurs</td>
      <td><a href="./intro1A/IntroTD8.pdf">TD8</a> Disques distants,
    ex&eacute;cution &agrave; distance</td>
    </tr>  
</table>

<br>

<h1>Autres cours</h1>
<a name="l3appli"></a>
<h2>Compl&eacute;ments d'algorithmique en L3 informatique appliqu&eacute;e</h2>

Le parcours appliqu&eacute; de la licence informatique est
co-organis&eacute; par l'Institut Galil&eacute;e et l'IUT. J'y donne au
titre de l'IUT un cours centr&eacute; sur les automates et les
expressions r&eacute;guli&egrave;res - th&eacute;orie et pratique. Je
n'ai pas encore eu le temps de tout r&eacute;diger ; c'est donc une
version provisoire que vous trouverez <a href="pdf/coursCA.pdf" target="_top">ici</a>. Si vous d&eacute;celez des
erreurs, merci de me les signaler. <br>

<a name="repdescon"></a>
<h2>Cours de logique modale et repr&eacute;sentation des connaissances en master 2 MICR</h2>

Je faisais depuis plusieurs ann&eacute;es une initiation de 8 &agrave;
10h &agrave; la logique modale en DEA. C'est maintenant devenu un cours
de base du master 2 recherche qui dure 36h (TD compris). J'en ai
profit&eacute; pour faire une <a href="pdf/CoursLogMod.pdf">r&eacute;daction</a> qui, l&agrave; encore,
n'est qu'un premier jet. Par la suite, j'aimerai renvoyer les rappels
des bases de la logique &agrave; une phase pr&eacute;paratoire et faire
plus de place aux extensions ... 
<hr>


<?php include "footer.html" ?> 
