Au terme de ce cours, l’étudiante ou l'étudiant aura acquis les notions fondamentales de la logique mathématique. S’initier aux concepts des mathématiques discrètes utilisés dans les méthodes d’optimisation. Introduction à la logique et son utilisation pour la modélisation de contraintes. Théorie des ensembles : terminologie, notion de fonctions et dénombrement. Rédaction de preuves mathématiques. Introduction aux algorithmes et à l’analyse de la complexité. Principe de récursivité et preuves par récurrence. Théorie des graphes : terminologie, arbres, algorithmes et applications. Séances de travaux pratiques composées d'exercices choisis pour illustrer et compléter la théorie vue en classe. Précision sur le préalable INF130 : ce cours est un cours associé, c'est-à-dire qu'il doit être suivi en même temps que MAT215.