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

  • Bibliothèque de fonctions réutilisables entre programmes

    • fichier d’entêtes : max.h

    • fichier source : max.cpp

    • fichier de tests : maxTest.cpp

Digressions :

  • Surcharge

  • Templates

  • Espaces de noms

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

Développement incrémental :

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

  • Gestion de version (git, mercurial, …)

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↔Prouver : Documentation↔Énoncé, Test↔Exemple, Code↔Preuve

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 espace de noms : Plus tard

Conclusion : qu’avez vous vu ce semestre?#

Les bases de la programmation impérative

  • 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 (S2), Complexité

  • Science des données (S2)

  • Web, graphisme, architecture, réseau …

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