Programmation orientée projet
Topic outline
-
Programmation Orientée Projet (en C++)
pour étudiants de Microtechnique et ElectricitéLe cours exploite partiellement le MOOC suivant auquel il est demandé deS'INSCRIRE DES LA PREMIERE SEMAINE DU SEMESTREEXAMEN du 5 juillet 2021:
Projet du semestre de printemps 2020-21 : Planet Donutsur décision de la Direction, il n'y aura pas d'examen écrit en présentiel PENDANT le semestre.De même il n'y aura PAS de TP en présentiel.
Organisation de l'évaluation sem2 2021:
Projet de programmation (3 rendus + 1 mini-oral individuel) = 65%
Examen écrit (2h) en présentiel le 5 juillet de 8h45 à 10h45 au STCC = 35%
Horaires, Planning, Dates importantes :
- Cours h1: à partir de la semaine 4, des video pré-enregistrées sont fournies pour l'équivalent de la première heure
- Cours h2: le vendredi de 15h00 à 16h00 : webinar zoom: https://epfl.zoom.us/j/86431403778 partie Q&A ouverte + questions SpeakUp provenant des videos pré-enregistrées + une partie de complément de cours pour le projet.
- Pendant les 7 premières semaines seulement ( 7 x 2h = 14 x 1h) ; consulter le planning détaillé ci-dessous car le cours de la semaine 6 tombe sur un jour férié ; les cours seront donc donnés jusqu'en semaine 8 seulement.
- TP : de 16h15 à 18h00 à distance sur Discord pendant les 12 ou13 premières semaines
- Machine Virtuelle (VM): il est plus que recommandé de travailler avec la VM en local sur votre machine + VPN car c'est sur cette machine que votre projet sera testé. La version recommandée de la VM est 20200923_local.iva car la taille de l'écran de la VM s'adapte à la taille de votre fenêtre. Vérifiez que vous avez cette version et prenez le temps de l'installer sinon (faites un backup de vos fichiers sur myNAS avant de supprimer l'ancienne VM).
- Composante de contrôle continu (65% de la note finale):
- 3 rendus de projet aux dates suivantes : 28 mars, 25 avril, 23 mai
- Les deux premiers rendus peuvent donner lieu à un oral pour cas particuliers (détection de plagiat, contrôle aléatoire) : avec zoom
- Oral final projet obligatoire non noté en semaine 13 : vendredi 28 mai 2021 de 16h à 19h30 : avec zoom
- Oral final noté pour cas particuliers (détection de plagiat, oral projet insuffisant) : avec zoom
-
V1.1 section: comment transmettre les arguments de la ligne de commande
- Cours h1: à partir de la semaine 4, des video pré-enregistrées sont fournies pour l'équivalent de la première heure
-
Cours : Introduction au second semestre / présentation de la programmation modulaire et de la compilation séparée
TP h1: make et makefile
TP h2: présentation des méthodes de développement de programme avec quelques questions théoriques
-
Suivre le MOOC semaine 1 avant la classe inversée
Cours h1: Lien entre le MOOC semaine1 programmation orientée objet et la programmation modulaire
Cours h2: vue générale du projet : fonctionnement, architecture modulaire, classes et types concrets
TP h1: exercices MOOC semaine 1
TP h2: prise de connaissance de la donnée du projet / finalisation des groupes
-
Suivre le MOOC semaine 2 avant la classe inversée
Cours h1: classe inversée constructeur / destructeur
Cours h2: lecture de fichier, préprocesseur
TP h1: lecture de fichier, préprocesseur et stubs, questions avancées sur la notion de type concret
TP h2: exercices MOOC semaine 2
-
mise à jour sur la convention de nommage des fonctions pour l'exercice de la seconde partie.
-
Suivre le MOOC semaine 3 avant le Q&A à partir de 15h00
Cours h1: VIDEO PRE-ENREGISTREES sur static, variable de classe et Surcharge, force et faiblesse de vector
Cours h2: Q&A + SpeakUp suivi d'un cours en-ligne sur la structuration des données pour représenter un graphe
TP h1: static à l'échelle d'un module, représentation d'un graphe à partir d'une classe noeud contenant une liste de liens vers les noeuds voisins.
TP h2: exercices MOOC semaine 3
-
Suivre le MOOC semaine 4 avant la classe inversée
Cours h1: 2 VIDEOS PRE-ENREGISTREES: bref rappel héritage, pointeur de fonction
Cours h2: Q&A 15h-15h10, Speakup héritage 15h10-15h15, suivi par webinaire: petit exemple héritage + Architecture Model-View-Control / GTKmm / dessin
TP h1: GTKmm / dessin
TP h2: exercices MOOC semaine 4
Projet : Rendu1 le dimanche 28 mars-
Section les plus utiles:
3. Les bases des fenêtres
5. Les boutons
7. Les widgets non-spéciaux, en particulier le 7.1 qui est le label
17. Le dessin
16.1 Pour ouvrir des fichiers avec une interface
24.3 La fonction idle pour effectuer une mise à jour d'une simulation
-
jour férié
-
Suivre le MOOC semaine 5 avant la classe inversée
Cours h1: classe inversée polymorphisme
Cours h2: Programmation par événement / GTKmm
TP h1: GTKmm / GUI
TP h2: exercices MOOC semaine 5
-
one more exercise on coordinate transformation (in english)
-
Suivre le MOOC semaine 6 avant la classe inversée
Cours h1: classe inversée héritage multiple
Cours h2: GTK keyboard & mouse event
TP h1: GTKmm / programmation par événement
TP h2: exercices MOOC semaine 6
Projet : Rendu2 le dimanche 25 avril
-
TP h1 et h2: temps dédié au projet avec encadrement en salles de TP
-
TP h1 et h2: temps dédié au projet avec encadrement en salles de TP
-
TP h1 et h2: temps dédié au projet avec encadrement en salles de TP
-
TP h1 et h2: temps dédié au projet avec encadrement en salles de TP
Projet : rendu final lundi 24 mai 23h59
-
Oral final sur zoom vendredi 28 mai, à partir de 15h10 et jusqu'à 19h10
-
Oral individuel approfondi au cas par cas