• Base de Données : Architecture et objectifs des SGBD, Fichiers, hachage et indexation, Modèle relationnel, Création et
    manipulation d’une base de données, Langage SQL, interrogation et mise à jour, Intégrité et confidentialité des données,
    Optimisation élémentaire et vues.
  • Algorithmique et Programmation : Bases d’algorithmique et de programmation, explication du fonctionnement logique
    d’un ordinateur. Description des structures de données de base et des opérations élémentaires associées utilisées pour
    spécifier un algorithme afin de pouvoir donner leur représentation dans les langages de programmation.
  • Langage C : Mise en séquence, boucles, embranchements, Types et opérateurs de base, Structuration de code : appel de
    fonction, passage par valeur, Appels généraux, Pointeurs et listes chaînées, Algorithmes de tris, Structures de données
    complexes (liste, pile, file, arbre), fonctions récursives (déclaration et utilisation), programmation (structurée sur
    plusieurs fichiers, récursivité, paradigme de programmation fonctionnelle, utilisation pointeurs), réalisation d’un projet.
  • Langage C++ : Notion d’objet, objets simples de C++ et leurs propriétés, instructions de composition : séquence,
    conditionnelle, itération, notion d’invariant, sous-programmes et modularité, composants logiciels, « boîtes noires », pré et
    post-conditions, structures de données séquentielles, tableaux, réalisation d’un projet.
  • Langage JAVA : Notion d’objet, objets simples de JAVA et leurs propriétés, instructions de composition : séquence,
    conditionnelle, itération, notion d’invariant, sous-programmes et modularité, composants logiciels, « boîtes noires », pré et
    post-conditions, structures de données séquentielles, tableaux, algorithmes de recherche, d’ajout, de retrait de valeurs,
    listes chaînées : simples, doubles, circulaires, avec sentinelle, pile, file, recherche, ajout, retrait, programmation
    fonctionnelle des listes, arbres, arbres binaires de recherche : ajout, retrait, complexité, équilibrage, programmation
    récursive, parcours d’arbres, tables.
  • Mathematica : algorithme, type, variable, expression, affectation, élément de logique, instruction conditionnelle,
    instruction répétitive, structure de données, structure de programmes, chaîne de caractères, tableau.
  • Langage Pascal : type de base, variable, expression, affectation, élément de logique, test (instruction conditionnelle),
    boucle, structure de données (tableau), structure de programmes, chaîne de caractères.
  • Algorithmique avancé : Graphes, parcours de graphes : Eulérien et Hamiltonien, algorithmes de plus courts chemins
    (Dijkstra, Bellman), définitions et propriétés d’arbres, définitions de base de théorie des graphes, arbres couvrants de
    poids minimum : Prim, Kruskal, recherche de plus courts chemins dans un graphe : Dijkstra, Ford, Bellman, Floyd, réseaux
    de flots : flots maximums, coupes minimales, flots de coût minimal : Algorithme de Ford-Fulkerson, méthode Diviser pour
    Régner et méthode gloutonne, introduction à la programmation dynamique classique et stochastique.
  • Systèmes d’Exploitation, centralisés, Linux : Bases essentielles des systèmes d’exploitation (généralités, complexité,
    fiabilité, maintenabilité, modularité, portabilité, structure en couches) et mécanismes fondamentaux des systèmes
    d’exploitation centralisés, répartis et temps réel. Développement d’applications multiprocessus en utilisant des outils de
    communication , de synchronisation et des primitives ”noyau” (processus, fichiers, mémoire virtuelle, gestion des E/S).
  • Unix, Développement Web, Base de Données : Unix (scripts, processus), Web (HTML, PHP, CSS) et BD (Mysql, SQL).
  • Mise à niveau UNIX : Mise à niveau en système d ’exploitation UNIX, Programmation de scripts.
  • Processus stochastiques : projet de simulation d’une gare de péage à l’aide d’un langage de simulation de processus
    stochastiques afin de mettre en pratique le cours qui permet de modéliser et de prévoir l’évolution de phénomènes
    aléatoires c’est-à-dire soumis au hasard (applications aux phénomènes d’attente, à la fiabilité et aux réseaux).
  • Méta-Heuristiques et Méthodes Exactes : Présentation de la méthode du recuit simulé.
  • Projets : Algorithmique et Programmation Orienté Objet – concevoir et implémenter un algorithme pour traiter un
    problème complexe, Programmation parallèle numérique – par exemple, résolution de système linéaire par la méthode
    GMRES, par la factorisation LU, par la méthode Richardson, …
  • Initiation, Word, Excel, Access, Internet : Architecture, Système d’exploitation, Réseau, Traitement de texte , Tableur , BD,
    Messagerie, Navigation et Sécurité.