École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Unité d’enseignement : GELO · S1 · UE4 — Fondements Informatiques & Algorithmique

  • Introduction aux BDD & Modélisation Merise

    Ce cours d’introduction aux bases de données (BDD) donne aux étudiants de première année de Licence professionnelle GELO les fondements nécessaires pour concevoir et exploiter les données d’un système d’information. Toute application — gestion de scolarité à EPI-NIGER, logiciel de pharmacie à Niamey, plateforme de Mobile Money, suivi des prêts d’une microfinance à Maradi — repose sur une base de données bien conçue. Le cours part des notions de donnée et de système d’information, présente les systèmes de gestion de bases de données (SGBD), puis enseigne la méthode Merise pour construire un Modèle Conceptuel de Données (MCD), le traduire en Modèle Logique de Données (MLD) relationnel normalisé et enfin l’implanter en SQL sous MySQL/MariaDB.

    Objectifs d’apprentissage

    • Comprendre les concepts fondamentaux des systèmes de gestion de bases de données (SGBD).
    • Maîtriser la méthode Merise pour modéliser les données d’un système d’information.
    • Concevoir un Modèle Conceptuel de Données (MCD) à partir d’un cahier des charges.
    • Transformer un MCD en Modèle Logique de Données (MLD) relationnel.

    Prérequis

    Algorithmique & Structures de Données (ALG1141) : variables, types, tableaux, enregistrements et raisonnement logique.

    Plan du cours

    1. Leçon 1 — Introduction aux Bases de Données
    2. Leçon 2 — Méthode Merise : Modèle Conceptuel de Données
    3. Leçon 3 — Du MCD au MLD Relationnel
    4. Leçon 4 — Introduction à SQL

    Travaux pratiques

    • TP guidé (leçon 4) : création d’une base de données simple sous MySQL/MariaDB (médiathèque) et requêtes de base (DDL, DML, DQL).
    • Exercices d’application corrigés dans chaque leçon : MCD d’une école et d’une médiathèque, MLD d’un système de commandes d’une ESN nigérienne, normalisation, requêtes SQL.

    Modalités d’évaluation

    Volume horaire : CM 14 h, TD 6 h, TP 10 h, travail personnel (TPE) 30 h, soit 60 h au total — 3 crédits. Évaluation : contrôle continu (CC) 40 % et examen terminal (ET) 60 % ; nature mixte (écrit et pratique). Le quiz en ligne et les exercices de chaque leçon servent d’auto-évaluation et de préparation au CC.

    Bibliographie

    • G. Gardarin, Bases de données, Eyrolles.
    • D. Nanci & B. Espinasse, Ingénierie des systèmes d’information — Merise 2e génération, Vuibert.
    • C. Soutou, SQL pour Oracle / Programmer avec MySQL, Eyrolles (compléments SQL).
    • Documentation officielle MariaDB (mariadb.com/kb) et MySQL (dev.mysql.com/doc).
  • Algèbre de Boole & Architecture Numérique

    Ce cours relie les mathématiques du numérique au fonctionnement réel de l’ordinateur. Il part de l’algèbre de Boole et de la représentation binaire des nombres, construit les circuits logiques (additionneurs, multiplexeurs, bascules, registres, compteurs, mémoires), puis explique l’architecture d’un ordinateur (modèle de von Neumann, processeur, hiérarchie mémoire) et les rôles du système d’exploitation. Pour un développeur, ces bases expliquent les erreurs d’arrondi des flottants, les dépassements d’entiers, l’impact des caches sur la performance d’un programme et les choix de matériel (serveurs, terminaux mobiles).

    Objectifs d’apprentissage

    • Maîtriser l’algèbre de Boole et l’utiliser pour simplifier des fonctions logiques.
    • Concevoir et analyser des circuits logiques combinatoires et séquentiels.
    • Comprendre l’architecture des ordinateurs : processeur, mémoire, bus, hiérarchie.
    • Savoir représenter et convertir des nombres dans les bases binaire, octale et hexadécimale.

    Prérequis

    Mathématiques Générales & Financières (MAT1121) : logique, puissances, calcul algébrique.

    Plan du cours

    1. Leçon 1 — Algèbre de Boole
    2. Leçon 2 — Arithmétique Binaire
    3. Leçon 3 — Circuits Logiques
    4. Leçon 4 — Architecture des Ordinateurs

    Travaux pratiques

    • Le syllabus prévoit 5 h de TP, qui n’y sont pas détaillés ; ils sont proposés ici sous forme de TP guidés réalisables sur un PC hors ligne (Python 3, et en option le simulateur libre Logisim-evolution) :
    • TP guidé 1 (leçon 1) — Vérifier des fonctions logiques par programme : tables de vérité, DNF/CNF, De Morgan (1 h 30).
    • TP guidé 2 (leçon 2) — Conversions de bases, complément à 2 et IEEE 754 en Python (1 h).
    • TP guidé 3 (leçon 3) — Simuler un additionneur 4 bits et un compteur synchrone (2 h).
    • Exercice de programmation (leçon 4) : simulation d’un ordonnancement en tourniquet (30 min).

    Modalités d’évaluation

    Volume horaire : CM 15 h, TD 8 h, TP 5 h, TPE 32 h, soit 60 h — 3 crédits. Évaluation : contrôle continu 30 % (TD, comptes rendus de TP) + examen terminal 70 % ; nature mixte.

    Bibliographie

    • Patterson & Hennessy, Computer Organization and Design, Morgan Kaufmann.
    • Mano & Ciletti, Digital Design, Pearson.
    • Tanenbaum & Austin, Architecture de l’ordinateur, Pearson.
  • Algorithmique & Structures de Données

    L’algorithmique est le socle du génie logiciel : avant d’écrire une ligne de Python, de Java ou de C, l’ingénieur doit concevoir une méthode de résolution correcte, efficace et vérifiable. Ce cours apprend à passer d’un énoncé à un algorithme structuré, à le traduire en programme (Python 3, avec quelques programmes en C), à choisir les bonnes structures de données et à mesurer le coût des solutions. Les exemples sont tirés de situations concrètes : frais de Mobile Money, notes d’étudiants de l’EPI, stocks d’une pharmacie de Niamey, guichet d’agence, épargne en microfinance.

    Objectifs d’apprentissage

    • Concevoir et analyser des algorithmes corrects et efficaces pour des problèmes classiques.
    • Maîtriser les structures de données fondamentales : tableaux, listes, piles, files, arbres (les arbres sont introduits via la récursivité et approfondis dans les cours suivants).
    • Analyser la complexité temporelle et spatiale des algorithmes (notation O).
    • Traduire un énoncé de problème en algorithme structuré et le valider sur des exemples.

    Prérequis

    Mathématiques Générales & Financières (MAT1121) : logique, suites, fonctions logarithme et exponentielle. Un ordinateur avec Python 3 (et si possible gcc) installé localement permet de travailler hors connexion.

    Plan du cours

    1. Leçon 1 — Introduction à l’Algorithmique
    2. Leçon 2 — Fonctions et Récursivité
    3. Leçon 3 — Structures de Données Fondamentales
    4. Leçon 4 — Algorithmes de Tri et de Recherche

    Travaux pratiques

    • Le syllabus ne prévoit pas de TP encadrés (0 h) ; les 8 h de TD et les 54 h de travail personnel reposent sur les exercices corrigés de chaque leçon, tous exécutables : à saisir, exécuter et modifier soi-même (traces, cas limites, mesures de temps).

    Modalités d’évaluation

    Volume horaire : CM 18 h, TD 8 h, TP 0 h, TPE 54 h, soit 80 h — 4 crédits. Évaluation : contrôle continu 30 % + examen terminal 70 % ; nature mixte (questions de cours, traces d’exécution, écriture d’algorithmes et de programmes).

    Bibliographie

    • Cormen, Leiserson, Rivest & Stein, Introduction à l’algorithmique, Dunod.
    • Sedgewick & Wayne, Algorithms, Addison-Wesley.
    • Documentation officielle Python 3 : docs.python.org/fr/3/.