Méthodes de conception de programmes

lingi1122  2018-2019  Louvain-la-Neuve

Méthodes de conception de programmes
5 crédits
30.0 h + 30.0 h
Q2
Enseignants
Pecheur Charles;
Langue
d'enseignement
Français
Préalables
  • Compétences en programmation impérative et orientée'objets, telles que visées par les cours « LINFO1101 Introduction à la programmation », « LINFO1103 Introduction à l'algorithmique » et « LEPL1402 Informatique 2 »
  • Notions de logique telles que visées par le cours « LINFO1114 Mathématiques discrètes »

Le(s) prérequis de cette Unité d’enseignement (UE) sont précisés à la fin de cette fiche, en regard des programmes/formations qui proposent cette UE.
Thèmes abordés
  • Spécification de programmes simples, avec procédures et avec structures de données
  • Logique et récurrence
  • Preuve de programmes simples, avec procédures et avec structures de données
  • Techniques de conception d'algorithmes
  • Patrons de programmation
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

1
  • imaginer un algorithme correct et efficace pour résoudre un problème donné
  • créer et spécifier la conception d'un produit logiciel à l'aide d'une méthodologie de conception des programmes et de notations appropriées
  • démontrer l'exactitude d'algorithmes simples
  • utiliser une approche rigoureuse pour assurer l'exactitude du résultat, en utilisant des outils mathématiques
 

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».
Contenu
  • Spécification de programmes : pré/post'conditions, assertions, invariants et variants, correction partielle et terminaison
  • Logique des prédicats : syntaxe, preuve formelle, tableau de preuve
  • Récurrence : preuves par induction, ensembles bien'fondés
  • Preuve de programmes : triplets de Hoare, calcul wp, méthode des assertions inductives,
  • Procédures : abstraction procédurale, récursion, effets de bord
  • Structures de données : fonction d'abstraction, invariant de représentation, induction structurale
  • Preuve automatisée de programmes : principes, outils
  • Conception d'algorithmes : division en sous'problèmes, diviser'pour'régner, programmation dynamique.
  • Patrons de programmation
Faculté ou entité
en charge
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Master [120] : bioingénieur en sciences agronomiques

Master [120] : bioingénieur en chimie et bioindustries

Master [120] : bioingénieur en sciences et technologies de l'environnement

Master [120] : bioingénieur en gestion des forêts et des espaces naturels

Mineure en sciences informatiques