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

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

Semestre : Semestre 2 (S2)

  • Bureautique et Internet

    Le technicien supérieur en chaudronnerie et construction métallique passe une part croissante de son temps devant un ordinateur : il classe les plans d’une affaire, rédige un rapport de contrôle ou un compte rendu de chantier, établit un devis de fourniture de profilés, calcule un débit de tôles, prépare une présentation pour un client et échange par courriel avec un fournisseur d’acier ou un bureau de contrôle. Ce cours vise la maîtrise pratique du système d’exploitation Microsoft Windows, des logiciels de bureautique (Word, Excel, PowerPoint) et des services d’Internet (web et courrier électronique), avec des exercices guidés tirés de la vie d’un atelier ou d’un bureau d’études à Niamey. La répartition suit la maquette : Windows (6 h), Word (8 h), Excel (8 h), PowerPoint et autres logiciels (4 h), Internet et services (4 h). Les exercices peuvent être réalisés sur toute version récente de Microsoft 365 ou d’Office ; les équivalents libres (LibreOffice Writer et Calc) conviennent également, avec des menus légèrement différents.

    Objectifs d’apprentissage

    • Utiliser Windows avec efficacité : explorateur de fichiers, arborescence, nommage, sauvegarde et sécurité de base.
    • Produire avec Word un document professionnel structuré (styles, numérotation, tableaux, table des matières, en-têtes, export PDF).
    • Construire avec Excel un tableau de calcul fiable (formules, références relatives et absolues, fonctions usuelles, mise en forme, graphiques).
    • Concevoir une présentation PowerPoint claire et sobre.
    • Rechercher efficacement l’information sur le web, communiquer par courriel de manière professionnelle et se protéger des menaces courantes.

    Prérequis

    Informatique générale de S1 (notions de matériel, clavier, souris).

    Plan du cours

    1. Leçon 1 — Système d’exploitation Windows et gestion des fichiers
    2. Leçon 2 — Traitement de texte Microsoft Word : documents et rapports techniques
    3. Leçon 3 — Tableur Microsoft Excel : calculs, devis et graphiques
    4. Leçon 4 — PowerPoint, réseau Internet et services (courrier électronique et web)

    Modalités d’évaluation

    Volume horaire : 20 h de CM, 10 h de TD (sur poste), 0 h de TP, 10 h de TPE ; 2 crédits. Évaluation : contrôle continu (quiz, fichiers rendus : rapport Word, devis Excel, présentation PowerPoint) et examen terminal pratique ou écrit.

    Bibliographie

    • Microsoft, Aide et formation Microsoft 365 (Word, Excel, PowerPoint, Windows), support.microsoft.com.
    • Collection « Les guides de formation » / « Référence bureautique », Éditions ENI (Word, Excel, PowerPoint, Windows), éditions récentes.
    • G. Harvey, Excel pour les Nuls, Éditions First.
    • A. Tanenbaum et D. Wetherall, Réseaux, Pearson.
    • ANSSI, Guide d’hygiène informatique, www.ssi.gouv.fr.
  • Bureautique Avancée & Outils Collaboratifs

    Ce cours de Bureautique Avancée & Outils Collaboratifs (BUR2152, semestre 2 de la Licence professionnelle Génie Logiciel d’EPI-NIGER) est résolument pratique : 30 heures de TP sur 48 heures encadrées. Il apprend au futur développeur à produire des documents techniques professionnels (rapports de stage, cahiers des charges, documentations), à analyser des données techniques au tableur (logs, métriques de performance, suivi de projet), à travailler en équipe à distance avec les outils collaboratifs du marché et à versionner son code avec Git et GitHub. Les outils libres (LibreOffice) sont privilégiés, avec les équivalents Microsoft Office et Google Workspace, et les pratiques sont adaptées à une connectivité parfois limitée (travail hors ligne, synchronisation différée).

    Objectifs d’apprentissage

    • Maîtriser les outils bureautiques avancés pour produire des documents techniques professionnels.
    • Utiliser les outils collaboratifs modernes dans le contexte d’une équipe de développement.
    • Créer des présentations techniques percutantes et des rapports structurés pour des projets IT.
    • Maîtriser Git (version de base) pour la collaboration sur des projets de code.

    Prérequis

    Techniques d’Expression Écrite et Orale (TEO1152) du semestre 1 de GELO ; usage courant d’un ordinateur, d’un traitement de texte et d’un navigateur web.

    Plan du cours

    1. Leçon 1 — Traitement de Texte Avancé
    2. Leçon 2 — Tableur Avancé pour les Données IT
    3. Leçon 3 — Outils Collaboratifs
    4. Leçon 4 — Introduction à Git & GitHub

    Travaux pratiques

    • TP 1 : modèle de rapport technique avec styles, numérotation, table des matières, légendes, renvois et export PDF.
    • TP 2 : analyse d’un fichier de logs par RECHERCHEV, SI imbriqués et tableau croisé dynamique, puis tableau de bord KPI d’un projet IT.
    • TP 3 : mise en place de l’espace collaboratif d’une équipe projet (Drive partagé, tableau Kanban, canaux de discussion, réunion en visioconférence).
    • TP 4 : collaboration sur un projet partagé GitHub et résolution d’un conflit de fusion.

    Modalités d’évaluation

    Volume horaire : CM 10 h, TD 8 h, TP 30 h, TPE 12 h, soit 60 h de charge totale pour 3 crédits. Évaluation : contrôle continu 100 % (pas d’examen terminal), de nature pratique : évaluation des productions de TP (rapport, classeur, espace collaboratif, dépôt GitHub). Le quiz en ligne sert d’auto-évaluation.

    Bibliographie

    • Chacon S., Straub B., Pro Git, Apress (gratuit sur git-scm.com, traduction française disponible).
    • Documentation LibreOffice (guides Writer et Calc, libreoffice.org, gratuite).
    • Aide en ligne Microsoft Office et Google Workspace (pour les équivalences de menus).
  • Langue Vivante & Anglais Technique

    L’anglais est la langue de travail de l’informatique : documentation des langages et des API, messages d’erreur, dépôts GitHub, forums comme Stack Overflow, tutoriels vidéo, normes de l’IETF. Ce cours de Langue Vivante & Anglais Technique (LVI2151, semestre 2 de la Licence professionnelle Génie Logiciel d’EPI-NIGER) donne aux étudiants les moyens de lire efficacement cette documentation, de produire des écrits professionnels simples (rapport de bug, e-mail, rapport technique) et de s’exprimer à l’oral dans une équipe agile ou lors d’un entretien technique. Les situations sont ancrées dans le contexte des étudiants : stage dans une ESN de Niamey, client international d’une startup de Mobile Money, contribution à un projet open source, candidature à une entreprise régionale.

    Objectifs d’apprentissage

    • Lire et comprendre de la documentation technique informatique en anglais (API docs, README, RFC).
    • Rédiger des messages professionnels simples et des rapports techniques en anglais.
    • Comprendre des présentations et tutoriels vidéo techniques en anglais.
    • Maîtriser le vocabulaire technique IT en anglais : systèmes, réseaux, programmation, sécurité.

    Prérequis

    Langue Vivante & Communication (LVI1151) du semestre 1 de GELO : grammaire de base (présent simple et continu, prétérit, futur, modaux), vocabulaire courant, compréhension de textes simples.

    Plan du cours

    1. Leçon 1 — Vocabulaire Technique IT en Anglais
    2. Leçon 2 — Lecture de Documentation Technique
    3. Leçon 3 — Production Écrite et Orale

    Travaux pratiques

    • Le syllabus ne prévoit pas de TP (0 h) ; les TD (6 h) sont consacrés aux exercices de lecture critique de documentation et d’articles (README, API, RFC, Stack Overflow), à la rédaction (rapport de bug, e-mail) et aux mises en situation orales (stand-up, entretien technique simulé).
    • Travail personnel conseillé : lire un README par semaine, regarder un tutoriel technique en anglais avec sous-titres anglais, tenir un glossaire personnel.

    Modalités d’évaluation

    Volume horaire : CM 12 h, TD 6 h, TP 0 h, TPE 22 h, soit 40 h de charge totale pour 2 crédits. Évaluation : contrôle continu 50 % + examen terminal 50 %, nature mixte (écrit : compréhension, vocabulaire, rédaction ; oral : mise en situation). Le quiz en ligne sert d’auto-évaluation.

    Bibliographie

    • Ibbotson M., Professional English in Use ICT, Cambridge University Press.
    • Taylor, Technical English for Computer Science, Longman.
    • Esteras S. R., Infotech: English for Computer Users, Cambridge University Press.
    • RFC 2119 et RFC 9110 (IETF, en accès libre sur rfc-editor.org) pour les exercices de lecture.
  • Linux LPI 101 — Administration de Base

    Ce cours initie à l’administration d’un système Linux en ligne de commande, en suivant les thèmes de l’examen LPI 101 (Linux Professional Institute, certification LPIC-1). Linux fait tourner la grande majorité des serveurs web, des plateformes cloud et de nombreux équipements réseau ; dans les PME, les administrations et les opérateurs nigériens, il héberge sites, bases de données, serveurs de fichiers et passerelles. L’administrateur travaille souvent à distance, en SSH, sur des liaisons à faible débit : la maîtrise du terminal, sans interface graphique, est donc essentielle. Le cours couvre la navigation, les fichiers et permissions, les utilisateurs et les paquets, les processus, le démarrage et l’automatisation par scripts bash planifiés avec cron. Toutes les sessions présentées ont été exécutées sur Ubuntu 24.04 ; elles s’appliquent à Debian et, pour l’essentiel, aux distributions Red Hat/Fedora.

    Objectifs d’apprentissage

    • Naviguer et administrer un système Linux en ligne de commande avec aisance.
    • Gérer les fichiers, les permissions, les utilisateurs et les groupes sous Linux.
    • Installer, configurer et administrer des paquets logiciels sur une distribution Debian/Ubuntu.
    • Comprendre le démarrage du système Linux, les processus et les scripts shell de base.

    Prérequis

    Architecture des Ordinateurs & Systèmes (ARO2141) — GELO S2 : notions de système d’exploitation, processus, mémoire, mode noyau et appels système.

    Plan du cours

    1. Leçon 1 — Prise en Main de Linux
    2. Leçon 2 — Gestion des Fichiers et des Permissions
    3. Leçon 3 — Gestion des Utilisateurs et des Paquets
    4. Leçon 4 — Processus et Scripts Shell

    Travaux pratiques

    • Machine virtuelle Debian ou Ubuntu (VirtualBox), WSL sous Windows ou serveur de salle de TP accessible en SSH.
    • TP par leçon : navigation, permissions et répertoire partagé, comptes et groupes d’un service municipal, compilation depuis les sources.
    • TP (leçon 4) : script de sauvegarde automatisée et de monitoring système avec cron.

    Modalités d’évaluation

    Volume horaire : CM 12 h, TD 6 h, TP 12 h, TPE 30 h, soit 60 h (3 crédits). Évaluation CC + ET : contrôle continu 40 % (TP notés, scripts rendus, quiz), examen terminal 60 %. Nature : mixte (questions de cours et manipulations sur machine).

    Bibliographie

    • Linux Professional Institute, Linux Essentials Study Guide et supports d’apprentissage LPIC-1 (learning.lpi.org).
    • Sobell M., A Practical Guide to Linux Commands, Editors, and Shell Programming, Pearson.
    • Shotts W., The Linux Command Line, No Starch Press (complément, disponible librement en ligne).
  • Architecture des Ordinateurs & Systèmes

    Ce cours relie le matériel et le logiciel : il explique comment un processeur moderne exécute les instructions (pipeline, caches, cœurs multiples) puis comment le système d’exploitation partage ce matériel entre de nombreux programmes (processus, mémoire virtuelle, ordonnancement, synchronisation). Ces notions sont indispensables au développeur : elles expliquent pourquoi un programme est lent ou rapide, pourquoi un smartphone Android à processeur ARM consomme peu, pourquoi une application multi-thread de paiement mobile peut perdre des transactions si elle est mal synchronisée. Les calculs du cours sont vérifiés par de petits simulateurs en Python et des programmes C (fork, threads POSIX) exécutables sous Linux.

    Objectifs d’apprentissage

    • Comprendre en profondeur l’architecture des processeurs modernes : pipelines, caches, RISC/CISC.
    • Maîtriser les concepts fondamentaux des systèmes d’exploitation : processus, mémoire, entrées/sorties.
    • Analyser les mécanismes de gestion de la mémoire : pagination, segmentation, mémoire virtuelle.
    • Appliquer les notions d’ordonnancement des processus et de synchronisation des threads.

    Prérequis

    Algèbre de Boole & Architecture Numérique (BOO1142) — GELO S1 : numération binaire et hexadécimale, logique combinatoire et séquentielle, structure de base d’un ordinateur (processeur, mémoire, bus). Des bases de programmation en C et en Python sont utiles pour les TP.

    Plan du cours

    1. Leçon 1 — Architecture du Processeur
    2. Leçon 2 — Systèmes d’Exploitation : Concepts Fondamentaux
    3. Leçon 3 — Gestion de la Mémoire
    4. Leçon 4 — Ordonnancement et Synchronisation

    Travaux pratiques

    • Simulation du mécanisme de pagination avec translation d’adresses et comparaison des algorithmes de remplacement (leçon 3).
    • TP : simulation d’ordonnancement (FCFS, SJF, Round-Robin, priorités) et analyse de la performance d’un système (leçon 4).
    • Démonstrations en C sous Linux : fork/wait, condition de course et mutex, producteur-consommateur avec sémaphores.

    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 CC + ET : contrôle continu 30 % (TD, TP, quiz), examen terminal 70 %. Nature : mixte (exercices chiffrés et questions de cours).

    Bibliographie

    • Tanenbaum A., Systèmes d’exploitation, Pearson.
    • Patterson D. & Hennessy J., Computer Organization and Design, Morgan Kaufmann.
    • Silberschatz A., Galvin P. & Gagne G., Operating System Concepts, Wiley (complément).
  • Modélisation BDD & Merise Avancée

    Ce cours approfondit la conception des bases de données relationnelles entamée au S1 (BDM1143). Il couvre les situations de modélisation que l’on rencontre dans les systèmes d’information réels — hôpitaux, établissements scolaires, microfinances, opérateurs de Mobile Money — : entités faibles, associations ternaires, héritage. Il formalise ensuite le passage au modèle logique et la qualité d’un schéma par la théorie des dépendances fonctionnelles et la normalisation. La seconde moitié est consacrée à la mise en œuvre dans un SGBD relationnel (MySQL, PostgreSQL) : SQL avancé (jointures, sous-requêtes, agrégats, fonctions de fenêtrage), transactions, niveaux d’isolation et vues. Les requêtes du cours ont été exécutées sous PostgreSQL 16 ; les différences avec MySQL 8 sont signalées.

    Objectifs d’apprentissage

    • Maîtriser les techniques avancées de modélisation avec Merise : entités faibles, héritage, associations ternaires.
    • Concevoir et normaliser un schéma relationnel jusqu’à la 3NF à partir d’un cahier des charges.
    • Rédiger des requêtes SQL avancées : jointures, sous-requêtes, fonctions d’agrégation.
    • Gérer les transactions, la concurrence et les vues dans un SGBD relationnel (MySQL/PostgreSQL).

    Prérequis

    Introduction aux BDD & Modélisation Merise (BDM1143) — GELO S1 : MCD simple (entités, associations binaires, cardinalités), règles de base du passage au MLD, requêtes SQL SELECT / INSERT / UPDATE / DELETE élémentaires.

    Plan du cours

    1. Leçon 1 — Merise Avancée
    2. Leçon 2 — Modèle Logique et Normalisation
    3. Leçon 3 — SQL Avancé
    4. Leçon 4 — Transactions et Sécurité

    Travaux pratiques

    • TD de modélisation : MCD d’un système d’information hospitalier et de gestion scolaire ; normalisation pas à pas.
    • TP SQL sur une base de microfinance (jointures, sous-requêtes, agrégats, fenêtrage).
    • TP (leçon 4) : conception et implémentation d’une BDD de gestion scolaire sous MySQL (script également compatible PostgreSQL).

    Modalités d’évaluation

    Volume horaire : CM 14 h, TD 6 h, TP 10 h, TPE 30 h, soit 60 h (3 crédits). Évaluation CC + ET : contrôle continu 40 % (TD, TP gestion scolaire, quiz), examen terminal 60 %. Nature : mixte (écrit de modélisation et épreuve SQL).

    Bibliographie

    • Nanci D. & Espinasse B., Ingénierie des systèmes d’information — Merise, Vuibert.
    • Ramakrishnan R. & Gehrke J., Database Management Systems, McGraw-Hill.
    • Elmasri R. & Navathe S., Fundamentals of Database Systems, Pearson (complément).
  • Langage C — Structures & Fichiers

    Ce cours prolonge l’algorithmique du S1 en langage C, le langage des systèmes d’exploitation, des logiciels embarqués, des pilotes et de nombreux outils réseau. L’étudiant y apprend à maîtriser la mémoire (pointeurs, allocation dynamique), à regrouper des données dans des types structurés, à implémenter en C les structures de données classiques (listes chaînées, piles, files, arbres, tables de hachage) et à rendre les données persistantes dans des fichiers texte et binaires. Le cours se termine par l’organisation d’un programme en modules compilés séparément avec un Makefile, à travers un projet de gestion de contacts en ligne de commande, adapté aux contextes à faible connectivité (données stockées localement, sans serveur).

    Objectifs d’apprentissage

    • Programmer en C avec maîtrise de la gestion de la mémoire : pointeurs, allocation dynamique.
    • Implémenter les structures de données classiques en C : listes chaînées, arbres, tables de hachage.
    • Réaliser des entrées/sorties sur fichiers en C : fichiers texte et binaires, accès aléatoire.
    • Développer des programmes C modulaires et robustes avec gestion des erreurs.

    Prérequis

    Algorithmique & Structures de Données (ALG1141) — GELO S1 ; Introduction aux BDD & Modélisation Merise (BDM1143) — GELO S1. Il est recommandé de savoir écrire en C un programme simple (variables, boucles, fonctions, tableaux).

    Plan du cours

    1. Leçon 1 — Pointeurs et Gestion de la Mémoire
    2. Leçon 2 — Structures et Types Définis
    3. Leçon 3 — Structures de Données en C
    4. Leçon 4 — Fichiers et Programmation Modulaire

    Travaux pratiques

    • Exercices de programmation compilés avec gcc -Wall -Wextra -std=c11 et contrôlés avec valgrind (fuites mémoire).
    • TP projet (leçon 4) : mini-système de gestion de contacts en fichiers binaires (CLI), découpé en modules .h/.c et compilé avec un Makefile.

    Modalités d’évaluation

    Volume horaire : CM 14 h, TD 6 h, TP 10 h, TPE 30 h, soit 60 h de charge totale (3 crédits). Évaluation CC + ET : contrôle continu 40 % (TP, projet contacts, quiz), examen terminal 60 %. Nature : mixte (écrit et pratique sur machine).

    Bibliographie

    • Kernighan B. & Ritchie D., Le Langage C, Masson (Dunod).
    • King K. N., C Programming: A Modern Approach, W. W. Norton.
    • Delannoy C., Programmer en langage C, Eyrolles (complément).
  • Algorithmique Avancée & Complexité

    Ce cours approfondit l’algorithmique du S1 : il apprend à analyser rigoureusement le coût d’un algorithme, à concevoir des solutions efficaces à l’aide des grands paradigmes (diviser pour régner, programmation dynamique, glouton, backtracking), à choisir les structures de données adaptées (arbres équilibrés, tables de hachage, tas, graphes) et à reconnaître les problèmes difficiles pour lesquels on se contente d’heuristiques. Ces compétences sont décisives pour un développeur au Niger comme ailleurs : une application de Mobile Money qui traite des millions de transactions, un moteur de recherche de produits d’un site e-commerce ou l’optimisation des tournées de livraison d’une entreprise de Niamey exigent des algorithmes qui passent à l’échelle, sur des serveurs aux ressources souvent limitées. Tous les programmes sont écrits en Python 3 et ont été exécutés ; les résultats affichés sont reproductibles.

    Objectifs d’apprentissage

    • Maîtriser les paradigmes de conception algorithmique avancés : diviser pour régner, programmation dynamique.
    • Analyser la complexité temporelle et spatiale des algorithmes avec rigueur mathématique.
    • Concevoir des algorithmes efficaces sur les structures de données avancées : arbres, graphes.
    • Résoudre des problèmes algorithmiques classiques de niveau intermédiaire (NP-complétude, heuristiques).

    Prérequis

    Algorithmique & Structures de Données (ALG1141) — GELO S1 ; Mathématiques Discrètes & Logique (MDS2121) — GELO S2 (récurrences, graphes, dénombrement).

    Plan du cours

    1. Leçon 1 — Analyse de la Complexité
    2. Leçon 2 — Paradigmes Algorithmiques Avancés
    3. Leçon 3 — Structures de Données Avancées
    4. Leçon 4 — Problèmes Difficiles et Heuristiques

    Travaux pratiques

    • Le syllabus ne prévoit pas de TP encadrés (0 h de TP) ; les 8 h de TD alternent exercices sur papier et programmes Python à exécuter.
    • Deux activités guidées proposées en travail personnel (TPE, 36 h) : tests empiriques de complexité sur des instances croissantes (Leçon 1) ; implémentation et comparaison d’algorithmes de tri et de recherche de chemin (Leçon 4).

    Modalités d’évaluation

    Volume horaire : CM 16 h, TD 8 h, TP 0 h, TPE 36 h, soit 60 h (CTT) — 3 crédits. Évaluation : contrôle continu (CC) 30 % + examen terminal (ET) 70 % ; nature mixte (M) : épreuves écrites et programmes.

    Bibliographie

    • T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction à l’algorithmique, Dunod.
    • S. S. Skiena, The Algorithm Design Manual, Springer.
    • Complément : J. Kleinberg & É. Tardos, Algorithm Design, Pearson.
  • Statistiques Inférentielles & Probabilités

    Les statistiques inférentielles permettent de tirer des conclusions sur une population entière (toutes les requêtes d’un serveur, tous les utilisateurs d’une application) à partir d’un échantillon, en quantifiant l’incertitude. Ce cours prolonge les probabilités et statistiques descriptives du S1 vers les outils utilisés quotidiennement par un ingénieur logiciel et un data scientist : estimer les performances d’un serveur à partir de ses journaux, décider par un test A/B quelle version d’une interface garder, modéliser le temps d’exécution d’un algorithme, dimensionner un serveur face à un flux de requêtes, filtrer les spams avec le théorème de Bayes. Toutes les analyses sont réalisées en Python (pandas, scipy, matplotlib), sur des données de contexte nigérien : application de Mobile Money, portail d’une banque, réseau 3G/4G.

    Objectifs d’apprentissage

    • Maîtriser les méthodes d’estimation et de tests d’hypothèse pour analyser des données IT.
    • Appliquer les techniques de régression pour modéliser des relations entre variables.
    • Comprendre les fondements probabilistes nécessaires à la Data Science et au Machine Learning.
    • Utiliser Python (pandas, scipy, matplotlib) pour réaliser des analyses statistiques sur des données réelles.

    Prérequis

    Probabilités & Statistiques (PST1122) — GELO S1 : statistiques descriptives, variables aléatoires, lois binomiale, de Poisson et normale. Bases de Python.

    Plan du cours

    1. Leçon 1 — Estimation et Intervalles de Confiance
    2. Leçon 2 — Tests d’Hypothèse
    3. Leçon 3 — Régression et Corrélation
    4. Leçon 4 — Probabilités pour la Data Science

    Travaux pratiques

    • TP Python (Leçon 4, chapitre 4 du syllabus) : analyse statistique d’un jeu de données de logs d’application (temps de réponse, réseau 3G/4G, type de requête) — statistiques descriptives, intervalle de confiance, tests paramétriques et non paramétriques, régression multiple.
    • Chaque leçon comporte des exercices chiffrés vérifiables avec scipy.stats ; ils constituent le programme des 6 h de TD et du travail personnel (22 h).

    Modalités d’évaluation

    Volume horaire : CM 12 h, TD 6 h, TP 0 h, TPE 22 h, soit 40 h (CTT) — 2 crédits. Évaluation : examen terminal (ET) 100 %, pas de contrôle continu ; nature mixte (M). Les tables statistiques (loi normale, Student, khi-deux) sont fournies à l’examen.

    Bibliographie

    • D. Wackerly, W. Mendenhall & R. Scheaffer, Mathematical Statistics with Applications, Cengage.
    • W. McKinney, Python pour l’analyse de données, O’Reilly.
    • Complément : G. Saporta, Probabilités, analyse des données et statistique, Technip ; documentation en ligne de scipy.stats.
  • Mathématiques Discrètes & Logique

    Les mathématiques discrètes étudient les objets « comptables » — ensembles finis, relations, graphes, formules logiques, dénombrements — qui constituent le socle théorique de l’informatique. Ce cours montre comment ces outils servent directement au génie logiciel : modéliser des données et des relations entre entités d’une base de données, raisonner sur la correction d’un programme, calculer un plus court chemin dans un réseau de télécommunications, dimensionner l’espace des clés d’un système cryptographique ou estimer la complexité d’un algorithme récursif. Les exemples s’inspirent du contexte nigérien : réseau d’agences d’une microfinance, codes de transaction Mobile Money, mots de passe d’un portail administratif, liaisons entre villes.

    Objectifs d’apprentissage

    • Maîtriser les fondements mathématiques de l’informatique : ensembles, relations, fonctions.
    • Utiliser la logique mathématique pour raisonner sur les programmes et les spécifications.
    • Comprendre la théorie des graphes et ses applications en algorithmique et en réseaux.
    • Appliquer la combinatoire et les méthodes de dénombrement aux problèmes informatiques.

    Prérequis

    Mathématiques Générales & Financières (MAT1121) — GELO S1 ; Probabilités & Statistiques (PST1122) — GELO S1. Des notions de base en programmation Python (S1) facilitent la lecture des exemples de code.

    Plan du cours

    1. Leçon 1 — Théorie des Ensembles et Relations
    2. Leçon 2 — Logique Mathématique
    3. Leçon 3 — Théorie des Graphes
    4. Leçon 4 — Combinatoire et Dénombrement

    Travaux pratiques

    • Le syllabus ne prévoit pas de TP encadrés (0 h de TP). Les 8 h de TD portent sur des exercices chiffrés : tables de vérité et formes normales, propriétés de relations, parcours et plus courts chemins, dénombrements et récurrences.
    • Travail personnel (TPE, 36 h) : exercices d’application de chaque leçon et petits programmes Python fournis (vérification de relations, Dijkstra, Kruskal) à exécuter et modifier.

    Modalités d’évaluation

    Volume horaire : CM 16 h, TD 8 h, TP 0 h, TPE 36 h, soit 60 h (CTT) — 3 crédits. Évaluation : examen terminal (ET) 100 %, pas de contrôle continu ; nature mixte (M).

    Bibliographie

    • K. H. Rosen, Discrete Mathematics and Its Applications, McGraw-Hill.
    • R. P. Grimaldi, Discrete and Combinatorial Mathematics, Pearson.
    • Complément : T. H. Cormen et al., Introduction à l’algorithmique, Dunod (chapitres sur les graphes).