Le projet de session
Le projet
Objectif : apprendre ! 🔤
⚠️ L'objectif du projet n'est pas d'écrire le plus de code, le plus vite possible!
⭐ Le projet est un prétexte pour vous faire pratiquer des pratiques de développement et explorer des designs. Il est normal de recommencer et réusiner ce que vous avez écrit une ou plusieurs fois pendant la session!
🤖 Avec l'IA, le défi c'est pas de voir si tu es capable de vomir vite du code. C'est de savoir utiliser les outils, critiquer et façonner (concevoir) le code !
En bref
- Se déroule pendant la majeure partie de la session
- En équipe
- 2 remises notées (sommatives)
- L'évaluation est faite sous la forme d'une revue du code (code review)
- Aucun document à remettre
- De l'accompagnement
- Un(e) accompagnateur(trice) sera attitré(e) à chaque équipe
- 4 revues de code formatives pour obtenir des commentaires entre les remises
- Demande du temps, de la collaboration et d’adopter un rythme continu mais soutenable.
Ce qui est évalué
- votre capacité à utiliser des outils d'ingénierie logicielle modernes
- votre capacité à produire du code de qualité et facile à maintenir/modifier donc testable et testé
- votre capacité à considérer plusieurs designs et faire des choix en fonction du contexte
- votre capacité à être fluide afin de livrer des fonctionnalités de manière continue et soutenable
- votre capacité à collaborer efficacement avec vos coéquipiers
- votre capacité à respecter une spécification (API)
- votre capacité à comprendre et implémenter des requis déjà donnés
L'accompagnement
- Votre accompagnateur(trice) sera présent(e) environ 1 h aux deux semaines lors de la séance de travail du cours (typiquement les lundis).
- La majorité des accompagnateurs(trices) du cours sont des professionnel(le)s dans l’industrie qui veulent aider et redonner.
- Conseil : profiter de leur présence pour poser des questions et discuter (même sans lien avec le projet). Restez ouverts! Le but primaire du cours est… d’apprendre!
- Profitez des séances de travail pour montrer votre code à votre accompagnateur(trice). Il(elle) a le droit de commenter votre code et de vous guider 😉.
Règles
Consultez le plan de cours pour toutes les modalités.
- Il n’est pas possible de changer d’équipe en cours de session.
- La contribution active et soutenue est attendue et obligatoire de la part de tous les membres (voir les pénalités).
- Un réajustement de la note peut être effectué afin de refléter le niveau et l’atteinte des objectifs individuels par rapport à ceux du groupe.
- Votre présence et votre participation aux rencontres d’équipe et avec votre accompagnateur(trice) (séances généralement en direct) sont obligatoires.
- L’ouverture des caméras est obligatoire lors des rencontres en direct.
- Tous les membres de l’équipe doivent être en mesure de faire toutes les tâches : gestion des sources, écrire ses propres tests unitaires, développer, réusiner, tester, déployer, etc.
- Il n’y a pas de remise tardive possible. Nous prélèverons le code de la branche indiquée au plan de cours et dans les instructions plus bas à la date et à l’heure données. Si elle n’existe pas ou n’est pas accessible, une note de zéro (0) sera accordée.
- Nous ne corrigeons pas du code : qui ne compile pas, qui n’a pas ou trop peu de tests unitaires, dont les tests unitaires ne passent pas, qui visiblement n’a pas été écrit avec le souci professionnel attendu, etc. (voir le plan de cours)
- Nous nous réservons le droit de faire passer un test oral individuel afin de valider la compréhension du code et des justifications des choix de l'équipe. ⚠️
Conseils
Nos conseils
- Travaillez chaque semaine à un rythme soutenable. Ce projet ne pardonne pas le travail à la dernière minute.
- Considérez que vous aurez régulièrement du réusinage à faire, encore plus après la revue de code.
- Les fonctionnalités sont volontairement trop grosses pour être réalisées par une seule personne. C’est à vous de découper le travail en conséquence…
🤓 Astuces
- Découper fonctionnellement : INVEST et tranche (slicing)
- Faire de la programmation en binôme (plusieurs binômes) et/ou de la programmation en groupe (mob programming).
Conseils laissés par les étudiant(e)s des dernières années
Voir les Conseils d'anciens étudiant-es