Résumé de section

  • L'unité d'enseignement CSC 400 – Discrete Structures for Computer Science constitue l'un des fondements théoriques essentiels de la formation en informatique. Elle introduit les concepts mathématiques nécessaires à la compréhension, à l'analyse et à la conception des systèmes informatiques modernes. Ces concepts sont omniprésents dans les domaines de l'algorithmique, de la programmation, des bases de données, de l'intelligence artificielle, des réseaux informatiques, de la cybersécurité, de la cryptographie, de la théorie des langages, de la science des données et du génie logiciel.

    Contrairement aux mathématiques classiques qui étudient principalement les phénomènes continus, les structures discrètes s'intéressent aux objets finis ou dénombrables. Elles offrent un cadre rigoureux permettant de modéliser les données, de représenter les relations entre objets, de raisonner de manière logique et de résoudre des problèmes complexes à l'aide de méthodes formelles.

    Ce cours développe progressivement les connaissances théoriques et les compétences analytiques des étudiants en abordant notamment :

    ·         les fondements de la logique propositionnelle et de la logique des prédicats ;

    ·         les techniques de raisonnement mathématique et de démonstration ;

    ·         les ensembles, relations et fonctions ;

    ·         les méthodes de comptage et d'analyse combinatoire ;

    ·         les relations de récurrence ;

    ·         les graphes et leurs applications informatiques ;

    ·         les arbres et leurs structures hiérarchiques ;

    ·         les algèbres booléennes ;

    ·         les fondements de la théorie des nombres utiles en cryptographie ;

    ·         les structures algébriques élémentaires.

    Au-delà de l'acquisition de connaissances théoriques, cette unité d'enseignement vise à développer chez l'étudiant des compétences de raisonnement, d'abstraction, de modélisation et de résolution de problèmes qui constituent des prérequis indispensables pour les unités d'enseignement avancées en informatique.

    Une attention particulière est portée à l'utilisation des structures discrètes dans des contextes professionnels réels, notamment :

    ·         la modélisation de réseaux informatiques ;

    ·         la représentation des dépendances entre tâches ;

    ·         la conception d'algorithmes efficaces ;

    ·         l'analyse de la complexité algorithmique ;

    ·         les systèmes de sécurité informatique ;

    ·         les protocoles cryptographiques ;

    ·         les moteurs de recherche ;

    ·         les systèmes de recommandation ;

    ·         les compilateurs ;

    ·         les systèmes distribués.

    L'approche pédagogique alterne des exposés théoriques, des exercices guidés, des études de cas, des démonstrations, des travaux dirigés ainsi que des activités de résolution collaborative de problèmes. Les étudiants seront amenés à développer une rigueur scientifique indispensable à la pratique professionnelle de l'informatique.