navigation

Bienvenue sur

🎄 C++ 🎄

Sur ce site, vous trouverez le cours de C++ destiné à l’enseignement des Master 1 de l’Universisté Gustave-Eiffel. Si vous ne faites pas partie des étudiants de cette section, vous êtes tout de même les bienvenus. Sachez juste que d’une part, ce cours étant un cours d’introduction, nous nous concentrerons sur les concepts de base du langage, ainsi que sur les mécanismes permettant d’écrire du code plus simplement ou de le rendre plus sûr. Et d’autre part, il est fortement recommandé pour pouvoir suivre ce cours d’avoir de bonnes bases en C et en Java.

À nos très chers étudiants et étudiantes de Master 1, merci de lire la suite de cette page attentivement.


Déroulement du module

Le module sera constitué de 3 séances de cours magistraux, 12 séances de travaux pratiques et 3 séances d’évaluation.

Le planning est le suivant :

Séance Date Description
Cours 1 17/01
TP 1 Groupe I1 - 19/01
Groupe I2 - 22/01
Groupe Alt - 19/01
* Compilation
* Entrée / sortie
* std::string et std::vector
* Classes
TP 2 Groupe I1 - 26/01
Groupe I2 - 29/01
Groupe Alt - 26/01
* Classes
* Constructeurs
* Membres statiques
* Opérateurs
TP 3 Groupe I1 - 02/02
Groupe I2 - 05/02
Groupe Alt - 02/02
* Références
* Ownership
TP 4 Groupe I1 - 09/02
Groupe I2 - 12/02
Groupe Alt - 09/02
* Révisions
TP noté 1 21/02 * Compilation
* Entrée / sortie
* std::string et std::vector
* Classes
* Constructeurs
* Opérateurs
* Références
Cours 2 21/02
TP 5 Groupe I1 - 23/02
Groupe I2 - 26/02
Groupe Alt - 23/02
* Copie
* Déplacement
* l-value / r-value
* std::unique_ptr
TP 6 Groupe I1 - 29/02
Groupe I2 - 04/03
Groupe Alt - 29/02
TBD
TP 7 Groupe I1 - 08/03
Groupe I2 - 11/03
Groupe Alt - 08/03
TBD
TP 8 Groupe I1 - 15/03
Groupe I2 - 18/03
Groupe Alt - 15/03
* Révisions
TP noté 2 21/03 TBD
Cours 3 21/03
TP 9 Groupe I1 - 29/03
Groupe I2 - 25/03
Groupe Alt - 29/03
TBD
TP 10 Groupe I1 - 04/04
Groupe I2 - 02/04
Groupe Alt - 04/04
TBD
TP 11 Groupe I1 - 11/04
Groupe I2 - 08/04
Groupe Alt - 18/04
TBD
TP 12 Groupe I1 - 18/04
Groupe I2 - 15/04
Groupe Alt - 18/04
TBD
TP noté 3 22/04 TBD

Cours magistraux

Les cours magistraux sont l’occasion d’aborder les notions que vous pourrez revoir et creuser dans les chapitres du cours en ligne.
C’est également un bon moment pour poser des questions sur le cours ou les TPs précédents.
Les slides sont disponible ici.

Cours en ligne

Chaque semaine, avant votre séance de TP, vous devrez lire et comprendre le chapitre associé du cours en ligne.

Il faudra également réaliser les exercices proposés, afin d’assimiler rapidement ce que vous aurez lu. Pour cela, vous devrez partir du contenu de ce dépôt git. Il est recommandé d’essayer de faire les exercices une première fois sans regarder les solutions. Si vous êtes bloqués, recherchez d’abord de l’aide sur Internet ou en demandant à vos camarades de classe.

Une fois que vous avez quelque chose qui a l’air de fonctionner, regardez la solution pour vérifier que ce que vous avez fait est correct. Si votre code n’est pas identique, c’est probablement parce qu’il n’y a pas qu’une seule bonne réponse. Et si vous n’êtes vraiment pas sûr(e)s de votre solution, n’hésitez pas à m’envoyer ce que vous avez fait par mail ou Discord, ou à l’indiquer dans le formulaire de fin de chapitre afin que l’on vous donne un retour.

Si vous avez une question ou une remarque (typo par exemple) sur un endroit très précis du cours, vous pouvez sélectionner la zone concernée et cliquer sur le point d’interrogation qui s’affiche en bas à droite de l’écran pour nous envoyer votre message.
On pourra ainsi vous répondre et éventuellement retravailler cette partie du site pour qu’elle soit plus claire pour tout le monde ! 😄

Questionnaires

Le questionnaire de fin de chapitre sera composé comme suit :

  • nom et prénom,
  • adresse mail,
  • des questions sur le contenu du chapitre,
  • un champ pour entrer vos propres questions (nous enverrons les réponses au mail indiqué plus haut),
  • un champ pour laisser des commentaires sur le format du cours et me prévenir si j’ai écrit des bêtises

N’hésitez vraiment surtout pas à poser vos questions dans le formulaire, mais aussi à nous les envoyer directement par mail ou Discord, en particulier si cela vous bloque pour avancer.

Séances de TP

L’énoncé pour chaque séance de TP sera disponible au format Markdown sur ce dépôt.

Certaines parties de la séance seront à réaliser en autonomie, tandis que d’autres parties devront se faire avec l’ensemble du groupe, de manière à ce que la correction puisse être comprise par tous.

Questions

Si vous avez des questions sur le TP ou le cours, le meilleur moment pour les poser est pendant les séances de TP.

Si vous n’avez pas terminé le TP avant la fin de la séance, et que vous avez des questions pendant que vous êtes en train de le terminer chez vous, vous pouvez contacter votre chargé de TP par mail ou sur Discord. Vous pouvez également demander de l’aide à vos camarades de classe, car c’est toujours intéressant de travailler en groupe.


Notation

Votre note finale sera composée des notes obtenues aux trois séances de TPs notés. La pondération sera établie et communiquée une fois l’ensemble des rendus corrigés.


Conclusion

Au final, ce cours a pour objectif les points suivants :

  • que vous soyiez capables de comprendre la plupart des bouts de code auxquels vous pourrez être confrontés dans le futur,
  • que vous appreniez à programmer à peu près tout ce dont vous avez envie, sans être obligé(e)s de consulter Internet en permanence,
  • que vous puissiez éviter les erreurs de compilation et de programmation classiques,
  • que vous acquiériez l’autonomie et les réflexes indispensables permettant de vous débloquer lorsque vous rencontrez un problème.

Bien entendu, comme n’importe quel autre cours que vous trouverez sur Internet, vous aurez à fournir un minimum d’investissement si vous souhaitez en tirer quoi que ce soit. N’hésitez pas à prendre connaissance du paragraphe (volontairement moralisateur 💩) ci-dessous.

Si cela ne vous intéresse vraiment pas, je ne souhaite pas vous forcer à travailler et je vous conseille grandement d’aller acquérir vos crédits universitaires dans d’autres matières. Le C++ n’étant pas un langage facile à aborder, sachez que la méthode : “je lis le chapitre vite fait la veille du TP noté”, ne vous suffira pas à avoir une note potable à la fin du semestre. Je préfère donc vous prévenir à l’avance que si vous souhaitez effectivement apprendre le langage via ce cours, il faudra accepter d’y consacrer le temps nécessaire : 6h par semaine me paraîssent être le minimum à consacrer à cette matière. Réservez-vous donc à l’avance des créneaux sur votre emploi du temps pour pouvoir travailler et apprendre dans de bonnes conditions.

Cette introduction étant terminée, j’espère que vous vous amuserez et que vous apprendrez plein de choses. Bon courage pour la suite ! 😊🎉


Qui suis-je ?

Je m’appelle Céline Noël et je suis programmeuse depuis 8 ans.
J’ai terminé mes études à l’UGE (anciennement UPEM ⚰️) en 2017, durant lesquelles j’ai effectué un Master Informatique en double-cursus avec un cycle d’ingénieur à l’IMAC.

En ce qui concerne l’enseignement, j’ai commencé à donner des TPs de Synthèse d’Images aux IMAC-1 durant ma dernière année d’étude, j’ai ensuite donné les TPs d’Algo aux INFO-1 à l’ESIPE, avant de repartir donner des TPs de Synthèse d’Images, mais aux IMAC-2. Pour finir, je suis aujourd’hui responsable des cours de C++ des Master 1 en Informatique à l’UGE.