Ce cours est destiné aux étudiants de première année de Master Informatique, particulièrement, pour le module GL5131 et IRS4131.
Dans ce cours, on rappelle les bases (les définitions et propriétés de base ainsi que les algorithmes élémentaires) avant de présenter des problématiques un peu plus avancées sur la théorie des graphes.
Dans la première partie, l'objectif visé est de monter comment les graphes peuvent être une méthode de résolution de problèmes. Les aspects abordés dans cette partie du cours ne demandent pas de connaissances préalables autres que celles détenues par de nouveaux bacheliers de série S. Les deux notions de graphes qui sont abordées sont : les graphes orientés et les graphes non orientés. La première partie comporte beaucoup de définitions du fait que la théorie des graphes utilise un jargon particulier.
Dans la deuxième partie du cours, l'objectif visé est ...
Les exercices proposés dans ce cours sont essentiellement de deux types : des exercices théoriques sous forme de démonstration assez simple généralement par indiction ou par l'absurde; des exercices pratiques où on utilise des graphes pour la modélisation de problème afin de les résoudre.
Les compétences visées par ce cours seront utiles pour la conception d'outils pour rationaliser, simuler et optimiser l’architecture et le fonctionnement des systèmes industriels et économiques afin de permettre aux décideurs de faire des choix efficaces et robustes.

- Enseignant: Ana BAKHOUM
- Enseignant: Mouhamadou GAYE
- Enseignant: Khadim DRAME
Un des objectifs essentiels d’une base de données est de stocker des informations sous une forme structurée pour faciliter et accélérer leur manipulation. Pour ce faire, le concepteur de la base de données doit non seulement veiller à ce que le schéma de la base soit conforme au cahier des charges, mais aussi qu’il soit le plus optimise possible. De même, il doit s’assurer que les requêtes s’exécutent correctement avec le moins de temps d’attente possible. Les tâches répétitives doivent être automatisées pour diminuer leur temps d’exécution. Les différentes transactions lancées par les utilisateurs doivent pouvoir s’exécuter sans perte de temps et sans inter-blocage. Ce cours est une continuité du cours de base de données relationnelle qui traite ces différents points cites ci-dessus.
Il est subdivise en 5 unités d’enseignement. Dans la première, l’étudiant apprend à optimiser un schéma de base de données déjà conçu. Dans la deuxième, il voit les techniques d’optimisation des requêtes pour la diminution des temps de réponse. Dans la troisième, l’automatisation des taches fréquemment exécutées avec la création de triggers, de procédures stockées et de fonctions en PL/SQL est enseignée. Dans la quatrième, la gestion des transactions est traitée avec le contrôle de concurrence d’accès aux ressources. Dans la cinquième et dernière unité d’enseignement les techniques permettant de redémarrer un serveur en panne avec le minimum de perte d’information et de temps possible sont proposées.
- Enseignant: Serigne DIAGNE
- Enseignant: Oumar SALL