Table des matières
1. Détails pratiques
Le dépôt Git 3if1020 contient le code (exemples du cours, fichiers squelettes pour les TD et TP) associé à ce cours. Vous devez donc, après avoir choisi votre environnement de programmation (voir ci-dessous), vous y rendre et, après authentification, suivre les indications données.
Si vous utilisez des branches, vous devez les fusionner dans master
.
⚠️ Ni fichier objet, ni binaire exécutable dans un dépôt git ⚠️
Campus de Saclay : Des dates limites de prise en compte de vos versions sur votre dépôt GitLab sont indiquées pour chaque sujet.
Le travail sur un TP est individuel. Chacun des 5 TP est noté entre 0 et 4, la somme des 5 notes donne la note du cours.
Pour avoir la note maximale sur un TP, il faut bien sûr faire la partie avancée. Mais réaliser correctement tous les TP sans faire ces parties avancées permet de valider très largement le cours. Les parties avancées sont donc destinées aux étudiant.e.s motivé.e.s et/ou intéressé.e.s par les extensions proposées.
Même si les TP sont notés, ils sont avant tout destinés à vous faire acquérir des compétences de programmation. Aussi, n'hésitez pas à demander de l'aide en dehors des créneaux prévus à l'emploi du temps.
Vous pouvez contacter votre encadrant de TP par messagerie ou par un autre moyen qu'il vous proposera le cas échéant.
Notation
Le code que vous déposez sur GitLab doit bien sûr se compiler et s'exécuter. Mais la note attribuée prendra en compte de manière significative la qualité de votre code (structuration, simplicité…) et sa lisibilité.
Extrait de Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin known as Uncle Bob) :
On peut ajouter dans le contexte spécifique des TP notés : “makes it easier to understand.”
Deux principes utiles pour cela : KISS et DRY.
Vous pouvez consulter avec profit cette page qui reprend des extraits de code de vos prédécesseurs et vous en propose une version plus simple et plus lisible.
Environnements de programmation
- La page Environnements de développement pour programmer en C et en C++ vous présente les différentes solutions.
Les encadrants ne sont pas compétents sur l'ensemble de ces environnements et ne pourront pas toujours vous aider si vous avez des problèmes avec le votre. La solution de sécurité est d'utiliser MyDocker
- Pour les créneaux à l'emploi du temps : demander un environnement 3IF1020 correspondant au créneau.
- Pour travailler en dehors des créneaux de l'emploi du temps : utiliser l'environnement 3IF1020 daté du 16 septembre 2024.
- ⚠︎ Environnements lourds sous Windows : pour le premier TP de programmation système, il faut soit utiliser WSL, soit un environnement léger.
- Il y a maintenant une nouvelle version du standard C++ tous les 3 ans. Le minimum requis pour faire les exercices demandés est la version 2011 du standard, mais il est fortement conseillé d'utiliser la version 2017, et même 2020 si elle est disponible. Certains compilateurs continuent d'utiliser par défaut la version 1998 du standard, il faut alors ajouter sur la ligne de commande l'option
-std=c++20
(ou-std=c++2a
, ou-std=c++17
…) pour ne pas avoir d'erreur lors de l'utilisation du typage par inférence (auto
) ou des lambdas ou …
2. Présentation du cours
Support de cours
3. Concepts des langages de programmation, mise en œuvre en C/C++
Support de cours
- Chapitre 1 : Introduction, rappels, généralités
- Chapitre 2 : Approche impérative
- Chapitre 3 : Approche fonctionnelle
- Chapitre 4 : Approche objet
- Chapitre 5 : Approche générique
- Chapitre 6 : Compléments
Exercices
- 27 septembre 2024 : TD n°1
- 18 octobre 2024 : TD n°2
- 11 octobre 2024 : TP n°1
- 25 octobre 2024 : TP n°2
- 8 novembre 2024 : TP n°3