Conclusion#

Résumé de la séance#

Programmes et compilation

  • Algorithme, programme, sources, binaire, assembleur

  • Interpréteur, compilateur

  • Cycle de vie d’un programme

Compilation séparée pour la modularité

  • Découper un programme non seulement en fonctions, mais en fichiers

  • Définir des bibliothèque de fonctions réutilisables entre programmes :

    • fichier d’entêtes : max.hpp

    • fichier source : max.cpp

    • fichier de tests : maxTest.cpp

Digressions

  • Surcharge : un nom, plusieurs fonctions

  • Templates : une fonction, plusieurs types

  • Espaces de noms : pour éviter les conflits de noms

Résumé des bonnes pratiques vues ce semestre (méthodologie de développement)#

Indication

Bonne pratique : développement incrémental

  • Toujours être «proche de quelque chose qui marche»

  • Gestion de version (git, mercurial, …)

Bonnes pratiques : spécifications et tests

  • Spécification : définir précisément la sémantique des fonctions :
    qu’est-ce qu’elles doivent faire?

  • Test : vérifier que la sémantique est respectée sur des exemples

  • Analogie Programmer↔Démontrer : Documentation↔Énoncé, Test↔Exemple, Code↔Démonstration

Indication

Bonne pratique : modularité

  • Découpage d’un programme en fonctions : cours 4

  • Découpage d’un programme en modules : aujourd’hui !

  • Découpage d’un programme en espaces de noms : plus tard

Conclusion : qu’avons nous vu ce semestre?#

Les bases de la programmation

  • Contrôle du flot d’exécution : instructions conditionnelles et itératives, fonctions

  • Gestion des données : variables, tableaux, collections, entrées et sorties, fichiers

Méthodologie de développement

  • Développement incrémental

  • Spécifications et tests

  • Modularité

Une esquisse de quelques thèmes de l’informatique

  • Programmation modulaire (S2)

  • Algorithmes et structures de données, complexité (S2)

  • Science des données (S2)

  • Web, graphisme, architecture, réseau, …

Ce n’est que le début de l’aventure !