MPI, Info 3, Programmation modulaire
Vous trouverez sur ce site des notes de cours et autres informations à
propos du module Info 3, Programmation modulaire du second semestre des
licence
MI, LDD-IM de
la Faculté des
Sciences d'Orsay, Université Paris Saclay.
Objectifs pédagogiques
- Maîtriser le vocabulaire de la programmation
- Apprendre à organiser ses données (tableaux, structures)
- Apprendre à organiser ses programmes (modularité, tests,
encaspulation).
Règles
- Les retardataires ne sont pas admis en amphi. Dura lex, sed lex.
- En arrivant en TP, le cours est considéré comme
appris. En particulier vous devez être capables de reproduire
précisément les points clefs (ex.: syntaxe et la sémantique des
instructions).
- D'une semaine sur l'autre, les exercices de TP (non marqués
difficile) sont considérés comme faits et maîtrisés. Voir
la page du premier semestre pour les problèmes d'installation de logiciel.
- Documents autorisés au partiel et à l'examen: la
fiche de résumé de syntaxe C++, avec au dos toutes les notes personnelles
manuscrites que vous souhaitez. Pour les étudiants inscrit en Français
Langue Étrangère: un dictionnaire papier.
 |
Pour ne pas surcharger les boîtes mails
et les enseignants, merci de poster les questions d'intérêt général sur
le forum
dédié sur e-campus |
Recommandations pour travailler efficacement
- Parcourir à l'avance les notes de l'amphi à venir.
- Participer systématiquement aux amphi, être actif, prendre des notes.
- Relire systématiquement les notes d'amphi le soir même.
- Bien apprendre le vocabulaire spécifique en vérifiant que l'on a
bien compris chaque mot (voir le fichier partagé de glossaire ci-dessous).
- Participer systématiquement aux TD / TP, être actif, finir le maximum
d'exercices pour en avoir moins à faire à la maison.
Outils pour le travail à la maison
- Pour travailler à la maison, vous pouvez utiliser le
serveur jupyterhub
de l'université. Si vous le faites, je vous rappelle que vous devez
commencer votre travail par la commande
./course.py fetch Semaine1
et
terminer votre session de travail par
./course submit Semaine1 MonGroupe
Il faut exécuter ces commande dans le répertoire ProgMod
et
bien évidement remplacer
Semaine1
et MonGoupe
par la bonne semaine et
votre groupe.
- Vous pouvez consulter vos travaux soumis en vous connectant sur le
serveur gitlab
de l'université.
Notes de cours 2023
- Le chapitre d'introduction.
- Structures de données avec la
version imprimable.
- Surcharge de fonctions et d'opérateurs avec la
version imprimable.
- L'infrastructure de test doctest avec la
version imprimable avec le fichier de doctest.
- La règle du jeu que nous allons programmer
P.2-3
P.4-5
P.6-7
P.8-9.
- Objets et Classes avec la
version imprimable.
- Compilation séparée, make avec la
version imprimable.
- Initiation au génie logiciel : modularité,
encapsulation avec la
version imprimable.
Il est important de bien regarder le code des
exemples qui sont associés au cours. Je vous
rappelle que les exemples complets sont accessibles en cliquant sur le
lien du fichier PDF en haut et à droite de chaque exemple de code.
Fichiers partagés
Les fichiers ci-dessous sont des fichiers éditable collaborativement pour
vous aider dans votre travail. Pour avoir le droit d'éditer le fichier, il
faut se connecter avec son compte Paris-Saclay;
Planning 2023
- Semaine du 15-01 au 19-01: Les structures
-
le sujet du TP1
avec la correction
- Semaine du 22-01 au 26-01: Structures, types énumérés et tableaux
-
le sujet du TP2
avec la correction
- Semaine du 29-01 au 03-02: Surcharge de fonction et d'opérateurs
-
le sujet du TP3
avec la correction
- Semaine du 05-02 au 09-01: Infrastructure de tests
-
le sujet du TP4
avec la correction
avec fichier de doctest
- Semaine du 13-02 au 17-01: Révisions
-
le sujet du TP5
avec la correction
le code du TP5
doctest.h
- Semaine du 26-02 au 01-03: Objets et Classes
-
le sujet du TP6
avec la correction
- Semaine du 04-03 au 08-03: Constructeurs
-
le sujet du TP7
avec la correction
- Semaine du 11-03 au 15-03: Partiel
Pas de cours ni de TD.
-
la correction du Partiel
- Semaine du 18-03 au 22-03: Compilation et Makefile
-
le sujet du TP8
avec la correction
- Semaine du 25-03 au 29-03: Initiation au génie logiciel
-
le sujet du TP9
avec la correction
- Semaine du 08-04 au 12-03: Projet
-
Voir la section projet ci-dessous
- TP supplémentaire de révision (inspiré d'un
ancien sujet d'examen).
- Semaine du 01-04 au 05-03: Encapsulation
Le logiciel GIT
Voici quelques site pour s'initier à git:
Le projet 2024
les horaires de passage
Ce projet doit être fait par équipe de 2 (binôme). Les équipes de trois sont
interdites. Le travail tout seul est réservé aux cas exceptionnels où les
conditions de travail rendent la communication trop difficile. Il est
important que votre binôme soit d'un niveau proche du votre afin que le
travail sur le projet soit profitable, d'autant plus que vous risquez d'avoir
une mauvaise note lors de la soutenance si vous avez du mal à comprendre le
code de votre binôme. Il n'est pas interdit d'être en binôme avec un étudiant
d'un autre groupe de TP, mais dans ce cas il faut prévenir les enseignants des
deux groupes dès que possible (nettement avant les soutenances).
La description générale du projet
Le TD fait en classe entière
Le TP de la semaine
L'aide à propos de GIT
Révisions
- Le partiel de 2022:
-
le sujet du partiel
avec la correction
- Le partiel de 2023:
-
le sujet du partiel
avec la correction
- Pour ceux qui veulent réviser
-
un sujet de TP de révision
- L'examen de 2022:
-
le sujet de l'examen
avec la correction
- L'examen de 2023:
-
le sujet de l'examen
avec la correction
Informations pratiques
- Responsable du module: Florent Hivert
- Groupes et salles de TD/TP:
- CM Lundi 10h30-12h30
- Lundi 13h30-15h30 MI3 (336-NB) MI1 (336-209)
- Mercredi 13h30-15h30 LDD-IM1 (336-NB) MI2 (336-209)
- Jeudi 13h30-15h30 LDD_IM2 (336-NB) MI4 (336-209)
- 2h d'amphi par semaine
- 2h TD/TP
- Langage de programmation: C++
À propos des documents
Les documents de ce cours sont distribuées sous licence
libre Creative
Commons Paternité – Partage dans les mêmes conditions 3.0 France (CC BY-SA 3.0
FR). L'auteur principal en est Florent Hivert avec les conseils et
relectures attentives d'Adeline Pierrot. Les chargés de TD ont contribué
fortement aux sujets de TD, TP, et projet.
Si vous souhaitez accéder aux sources LaTeX, contactez moi.