L'activité d'apprentissage consiste en la réalisation d'un projet de taille relativement importante (en Java), et selon un processus de développement incrémental : prototypes, design de classes, mise en pratique des notions importantes de la programmation orientée objets (interface, héritage, gestion des exceptions, etc.).

Le projet est réalisé par groupes de trois étudiants au Q2 mais est individuel au Q3.

Ce cours est une introduction à divers domaines classiques de l'Intelligence Artificielle (agent intelligent, métaheuristiques, IA dans les jeux, connaissance et raisonnement).

  • Constraint Satisfaction Problems
  • Graphs as models for planning, probability reasoning and deep learning
  • Approximation algorithms
  • AI for discovery in extremal graph theory

Ce cours est une introduction à divers domaines classiques de l'Intelligence Artificielle (agent intelligent, métaheuristiques, IA dans les jeux, connaissance et raisonnement, machine learning).

Le cours comprendra un exposé et des exercices sur les aspects:

  • introduction et identification des cas d'applications qui justifient ce type d'approche.
  • préparation de jeux de données d'apprentissage.
  • définition d'architectures algorithmiques appropriées.
  • expérimentation au sein d'écosystèmes logiciels, matériels et cloud.

Objectifs du cours.

Etre capable de:

  • comprendre un algorithme
  • concevoir un algorithme (efficace)
  • écrire un programme

Le langage de programmation utilisé est le Python.

Ce cours aborde différents sujets liés à l'algorithmique et aux langages de programmation.