Enseignants
Langue
d'enseignement
d'enseignement
Thèmes abordés
- Contraintes et domaine
- Aspects pratiques de solvers de contraintes
- Problèmes de satisfaction de contraintes (CSP)
- Modèles et langages de programmation par contraintes - Méthodes et techniques de résolution de contraintes (consistance, relaxation, optimisation, recherche, intervalles, programmation linéaire, contraintes globales, ...)
- Stratégie et technique de recherche
- Modélisation et résolution de problèmes (domaines finis et domaines continus)
- Applications à la résolution de classes d'applications (par exemple, planification, ordonnancement, allocation de ressources, économie, robotique)
Acquis
d'apprentissage
d'apprentissage
A la fin de cette unité d’enseignement, l’étudiant est capable de : | |
Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
Les étudiants ayant suivi avec fruit ce cours seront capables de:
Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils auront développé leur capacité à :
|
|
Contenu
- La programmation par contraintes: un paradigme de programmation déclarative
- Architecture d’un solveur de programmation par contraintes
- Contraintes globales et techniques d’implémentation (incrémentalité, etc)
- Stratégie et technique de recherche
- Modélisation et résolution de problèmes d’optimisation combinatoires à l’aide de la programmation par contraintes
- Applications à la résolution de classes d'applications (par exemple, planification, ordonnancement, allocation de ressources, économie, robotique)
Méthodes d'enseignement
La présentation des concepts sera soit proposée sous forme de cours magistraux, de vidéos ou de lecture et sera accompagnée de travaux pratiques (devoirs/micro-projets) sollicitant la mise en œuvre des concepts.
Modes d'évaluation
des acquis des étudiants
des acquis des étudiants
Juin — Première session
La note de juin est constituée de deux parties indépendantes de 10 points, pour un total de 20 points :- 10 points de pratique ;
- 10 points de théorie.
Partie pratique — 10 points
Les 10 points de pratique peuvent être obtenus selon deux modalités :- soit en réussissant l’examen pratique sur INGInious, organisé en fin de quadrimestre pendant deux heures ;
- soit en réussissant la partie pratique de programmation sur papier de l’examen de juin.
Un échec à l’épreuve INGInious ne fait donc pas perdre les 10 points de pratique : l’étudiant peut encore obtenir ces points lors de la partie pratique sur papier de l’examen de juin.
Il est néanmoins dans l’intérêt de l’étudiant de participer à l’épreuve INGInious et de tenter de la réussir. En cas de réussite, les 10 points de pratique sont acquis avant l’examen de juin, ce qui permet à l’étudiant de se concentrer sur la partie théorique lors de l’examen papier et de réduire ainsi la matière de programmation à préparer.
Partie théorique — 10 points
Les 10 points de théorie sont évalués lors de l’examen sur papier de juin.L’examen peut notamment comporter des questions portant sur les projets réalisés pendant le quadrimestre et sur leur code source.
Septembre — Deuxième session
En deuxième session, l’examen est entièrement organisé sur papier et reste divisé en deux parties de 10 points :- 10 points de théorie ;
- 10 points de pratique, sous forme de programmation sur papier.
En revanche, les 10 points de pratique correspondant à la partie programmation sur papier de juin ne sont pas reportables séparément en septembre.
| Théorie | Pratique | Total | |
|---|---|---|---|
| Juin | 10 pts sur papier | 10 pts via INGInious ou programmation sur papier | 20 pts |
| Septembre | 10 pts sur papier | 10 pts de programmation sur papier (report de la partie INGInious) | 20 pts |
Conditions des épreuves
Toutes les épreuves sont individuelles. Aucune collaboration, communication ou aide extérieure n’est autorisée pendant les épreuves.L’utilisation d’IA génératives est strictement interdite pendant l’épreuve INGInious ainsi que pendant les examens sur papier, en juin comme en septembre.
Les étudiants doivent donc réaliser les épreuves individuellement et sans utiliser d’outil d’IA générative.
L’épreuve INGInious constitue ainsi une opportunité sans risque en juin : en cas d’échec, l’étudiant peut encore obtenir ses 10 points de pratique grâce à la programmation sur papier en juin. En cas de réussite, il valide directement cette partie et bénéficie d’une matière de programmation réduite pour l’examen de juin.
Autres infos
Des bases solides en algorithmique et structures de données sont nécessaires pour pouvoir suivre ce cours ainsi qu'une bonne maitrise de java
Ressources
en ligne
en ligne
Bibliographie
Le site www.minicp.org + lectures suggérées pendant le semestre
Faculté ou entité
en charge
en charge
Programmes / formations proposant cette unité d'enseignement (UE)
Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
d'apprentissage
Master [120] : ingénieur civil en informatique
Master [120] en sciences informatiques
Master [120] : ingénieur civil en science des données
Master [120] en science des données, orientation technologies de l'information