Programme des cours 2023-2024
INBI0001-5  
Principes de programmation 2
  • Programmation : méthodes et analyse
  • Laboratoire de méthodes de programmation
  • Spécifications et testing
Durée :
Programmation : méthodes et analyse : 12h Th
Laboratoire de méthodes de programmation : 24h Pr
Spécifications et testing : 12h Th
Nombre de crédits :
Bachelier en informatique, orientation développement d'applications4
Nom du professeur :
Programmation : méthodes et analyse : Isabelle Dony
Laboratoire de méthodes de programmation : Isabelle Dony, Cédric Peeters
Spécifications et testing : Isabelle Dony
Coordinateur(s) :
Isabelle Dony
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au deuxième quadrimestre
Unités d'enseignement prérequises et corequises :
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement :
Continuitié de lunité Principes de programmation 1 (la matière de cette unité sera donc fortement utilisée) . 

De nouvelles notions seront vues telles que 

les types structurés, les procédures, les fonctions, la récursivité, la lecture et écriture de fichiers.

L'étudiant apprendra à choisir son modèle (représentation des données) et à choisir la découpe en sous-problèmes.

L'étudiant apprendra à documenter ses programmes, à écrire des spécifications (formelles et en français), à valider ses programmes et vérifier la correction de ses codes à partir des spécifications. 
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
- en termes de savoir-faire :

Lire et comprendre l'énoncé d'un problème (compétence : poser les questions adéquates et adaptées aux spécifications demandées et comprendre son interlocuteur pour identifier les besoins de l'utilisateur)

Analyser un problème simple et proposer une solution informatique pour le résoudre en utilisant les concepts et techniques relatifs à l'algorithmique de base.(compétence : concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies)

Faire un choix justifié entre plusieurs représentations des informations et plusieurs algorithmes pour les traiter. (compétences : concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies et concevoir, implémenter et utiliser avec maîtrise un ensemble structuré de données)

Fournir une documentation de la solution (compétence : rédiger un document technique, un rapport, documenter son travail afin d'en permettre la traçabilité)
Rédiger des spécifications claires et précises(compétence : rédiger un document technique, un rapport, documenter son travail afin d'en permettre la traçabilité)

Rédiger des cas de test afin de tester un programme.


- en termes de savoir-être/devenir :

Remettre des rapports à des échéances fixées.(compétence : évaluer la charge et la durée de travail liée à une tâche, planifier un travail, respecter les délais prévus,)

Travailler de manière efficace en groupes
Savoirs et compétences prérequis :
avoir suivi Méthode de programmation 1
Activités d'apprentissage prévues et méthodes d'enseignement :
Programmation : méthodes et analyse
Cours magistral couvrant les notions suivantes :
- les structures  - les procédures - les fonctions - mécanismes de passage des paramètres - la récursivité - la lecture et écriture de fichiers
- choisir son modèle ( représentation des données) - choisir sa découpe en sous-problèmes 
avec séries d'exercices illustratifs
Laboratoire de méthodes de programmation
Dans le cours de laboratoire méthode de programmation des exercices sont proposés aux étudiants et ils peuvent solliciter l'aide de l'enseignant.
Certains exercices sont corrigés au tableau et des solutions proposées par les étudiants peuvent être expliquées et commentées.

Toute activité organisée durant le quadrimestre (par exemple une conférence), non dispensée par l'enseignant, et qui est en rapport avec la matière de l'activité d'apprentissage, compte dans les heures de la dite activité d'apprentissage. La matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Spécifications et testing
Cours magistral couvrant les notions suivantes :

-Spécifications

  • Précondition / postcondition
  • spécification en français
  • spécification formelle (en mathématique)
-Vérification et validation de programme (V & V)

  • vérification avec méthodes formelles (preuves mathématiques)
  • Vérification avec tests unitaires / tests d'intégration
-Efficacité d'un algorithme

et exercices illustratifs
Mode d'enseignement (présentiel, à distance, hybride) :
présentiel
Lectures recommandées ou obligatoires et notes de cours :
Modalités d'évaluation et critères :
L'examen est un examen intégré qui consiste en plusieurs problèmes à résoudre :

  • algorithmes à écrire en pseudo code et à documenter en français et/ou mathématiquement
  • algorithmes à écrire en pseudo code en respectant des spécifications 
  • batterie de tests à concevoir
  • pour certains problèmes, l'étudiant devra faire tous les choix  préalables à l'implémentation : structures de données à utiliser, découpage de la solution, réutilisation de code
Des évaluations continues sont prévues en laboratoire de méthode de programmation. La pondération est la suivante: évaluation continue 30%, examen écrit 70%.

L'évaluation certificative en session de rattrapage reprend la même forme que celle de janvier mais les travaux de l'année ne sont pas pris en compte, seule la note de la session est reprise dans la note finale. Les évaluations peuvent être réalisées en présentiel ou en distanciel en fonction des conditions du moment.

Pour réussir l'unité, il faut avoir au moins 10/20 à la note finale de l'unité.

Remarque valable pour toutes les activités d'apprentissage de l'unité : lorsqu'on vous demande de rendre un travail ou un exercice ou lorsque vous devez rendre un examen ou une interrogation, si plusieurs copies sont fortement similaires, la note finale est divisée par le nombre de copies similaires. 
Stage(s) :
Remarques organisationnelles :
Spécifications et testing
La matière est tout à fait intégrée à l'AA Méthode de programmation. Les ppt s'entrelacent car les AA sont complémentaires
Contacts :
cedric.peeters at hers.be

isabelle.dony at heres.be