Logo ÉTS
Session
Cours
Responsable(s) Diala Naboulsi

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Ci-dessous se trouve le plan de cours prévu avec les heures approximatives d'enseignement pour chaque sujet, incluant le temps alloué pour une compétition de groupe et l'examen intra (compétition individuelle). Des modifications et ajustements au plan du cours pourront avoir lieu durant la session.

  1. Introduction à la programmation compétitive (3.5 heures)
    • Introduction aux compétitions et platformes existantes
    • Comment être compétitif
  2. Structures de données (SD) (7 heures)
    • SD linéaires avec librairies intégrées
    • SD non linéaires avec librairies intégrées
    • SD avec nos propres librairie
  3. Chaines (3.5 heures)
    • Algorithmes de recherches de sous-chaine
    • Arbre et tableau de suffixe
  4. Paradigmes de résolution de problèmes (5.5 heures)
    • Recherche exhaustive
    • Diviser pour régner
    • Algorithmes gloutons
    • Programmation dynamique
  5. Graphes (5 heures)
    • Algorithmes de parcours de graphes
    • Arbre couvrant de poids minimal
    • Problème du plus court chemin avec source unique
    • Problème de toutes les paires de plus courts chemins
    • Graphes spéciaux
  6. Analyse combinatoire (2.5 heures)
    • Nombres de Fibonacci
    • Coefficients binomiaux
    • Nombres Catalans
  7. Autres sujets mathématiques (1.5 heure)
    • Probabilités
    • Théorie de jeu
  8. Théorie des nombres (3.5 heures)
    • Nombres premiers
    • Décomposition en facteurs premiers
    • Crible d'Érastosthène
    • PGCD et PPCM
    • Factoriel
    • Arithmétique modulaire
    • Algorithme d'Euclide étendu
  9. Géométrie (3.5 heures)
    • Objets géométriques de base
    • Périmètre et aire d'un polygone
    • Test de convexité d'un polygone
    • Emplacement d'un point par rapport à un polygone
    • Découpage d'un polygone avec une droite
    • Enveloppe convexe
  10. Sujets divers (3.5 heures)
    • Algorithmes de recherche avancés
    • Problème du flot maximum
    • Couplage d'un graphe

Tous les cours sont d'une durée de 3 heures et 30 minutes par semaine (incluant une pause de 30 minutes).

 

Laboratoires et travaux pratiques

Des laboratoires seront proposés au cours de la session et permettront aux étudiants de mettre en pratique leurs compétences de résolution de problèmes.

  • Laboratoire 1: Introduction à la plateforme codewars
  • Laboratoires 2 et 3:
    • Introduction à la plateforme kattis
    • Structures de données
  • Laboratoire 4: Chaines
  • Laboratoire 5: Résolution de la compétition 1
  • Laboratoires 6/7: Paradigmes de résolution de problèmes
  • Laboratoire 8: Graphes
  • Laboratoire 9: Analyse combinatoire
  • Laboratoire 10: Résolution de la compétition 2
  • Laboratoire 11: Théorie des nombres
  • Laboratoire 12: Géométrie

Utilisation d'outils d'ingénierie

Les étudiant(e)s utiliseront un outil de développement logiciel intégré (IDE) pour développer des logiciels.

Note importante: Les exemples de cours seront en Java. Les exercices, laboratoires, devoirs et compétitions sont aussi vérifiés en Java. Vous pouvez utiliser d’autres langages, mais nous ne pouvons pas garantir les différences de performance.