Programmation en C++
Niveau L3
"Les bases conceptuelles nécessaires à la programmation sont facilement assimilables pour nos élèves, l'accent est donc mis sur la pratique et l'acquisition de bons "réflexes" de programmation : utilisation efficace de l'environnement de programmation et de ses outils, documentation du code, factorisation du code, concision… Le langage enseigné est le C++. Ce choix est justifié par l'importance de son utilisation dans les grands groupes, l'industrie, aussi bien que les start-ups. Sa souplesse en termes de choix de programmation bas niveau ou plus élaborée en objets, sa portabilité, la richesse de ses bibliothèques et son efficacité en font un langage privilégié qui a servi (exemple : Java) et sert encore de paradigme pour des langages en développement (exemples : Go développé par Google ou Rust de Mozilla)."

1. Hello, World!
- L'ordinateur
- Le système d'exploitation
- La compilation
- L'environnement de programmation
- Les bases
2. Premiers programmes
- Tout dans le "main()" !
- Fonctions
3. Tableaux
- Premiers tableaux
- Initialisation
- Spécificités des tableaux
- Illustration
4. Structures
- Rappels
- Structures
5. Plusieurs fichiers
- Fichiers séparés
- Opérateurs
6. Mémoire
- Appel d'une fonction
- Variables locales
- Fonctions récursives
- La pile
- L'optimiseur
- Assertions
- Tableaux bidimensionnels
7. Allocation dynamique
- Tableaux bidimensionnels
- Allocation dynamique
- Structures et allocation dynamique
- Boucles et "continue"
8. Premiers objets
- Philosophie
- Exemple simple
- Visibilité
- Exemple avec les matrices
- Le cas des opérateurs
- Interface
- Protection
9. Constructeurs
- Le problème
- La solution
- Cas général
- Objets temporaires
- Références constantes
10. Destructeurs
- Destructeur
- Destructeurs et tableaux
- Constructeurs de copie
- Assignation
- Objets avec allocation dynamique
11. Chaînes de caractères, fichiers
- Chaînes de caractères
- Fichiers
- Valeurs par défaut des paramètres
- Accesseurs
- Assertions
- Types énumérés
12. Fonctions paramétrées et classes (templates)
- "template"
- Opérateurs bit à bit
- Valeurs conditionnelles
- Boucles et "break"
- Variables statiques
- "const" et tableaux
