À savoir sur le cours
L'objectif de ce cours est de vous immerger le plus possible dans la réalité du développement logiciel afin de vous préparer à la réalité du marché du travail et maîtriser votre art.
L'approche pédagogique est conçue dans cet esprit.
Le cours couvrira
- Les tests unitaires : lisibilité, maintenabilité, TDD
- Les pratiques et principes du développement logiciel maintenable et de qualité
- Principes architecturaux comme SOLID +T (Tell don’t ask)
- Note : les patrons de conception sont couverts par GLO4003.
- La conception logicielle dans un contexte de domaine/problème riche
- Le savoir-faire, la culture, et l’attitude d’un professionnel du développement
Le cours en bref
- 1 examen de mi-session et 1 examen récapitulatif
- 1 projet de session <= Le coeur du cours : prévoyez y passer du temps
- 1 travail pratique individuel (TP) et 1 quiz
- Apprentissage des concepts de façon autonome sous la forme de vidéos et d’exercices
- Le projet: une grande mise en situation pour pratiquer l’exercice de votre métier et appliquer les concepts du cours : l’art du développement logiciel.
- Des ateliers de travail tous les lundis ¶ (obligatoire, non enregistré)
- ⚠️ Présence obligatoire
- ⚠️ En raison de la nature des activités (rencontre en équipe), les séances ne sont pas enregistrées
- Un-une assistant-e attitré-e à votre équipe (accompagnement)
- Des revues de projet formatives (en alternance, environ aux deux semaines) <= Rétroaction fréquente
- Deux remises de projet (avec revue de code complète, ligne par ligne <- Pas une blague)
¶ Parfois le mercredi, voir l'agenda
- Discussions (ou autres formes pédagogiques) avec les enseignants et votre auxiliaire
- En direct, dans les plages des séances de travail sauf exception
- Objectifs : couvrir des sujets transversaux, discuter et contextualiser le contenu du cours par rapport à la réalité de l’industrie (apporter des nuances et opinions), tout autre sujet demandant des interactions pour faciliter les apprentissages
Ce qui est évalué
- vos choix
- votre capacité à critiquer du code ou des solutions
- votre capacité à proposer des solutions adaptées à un contexte précis
- votre capacité à justifier vos décisions
⚠️ Dans ce cours, les résultats sont peu évalués. Ce sont les justifications, la capacité à contextualiser et comment vous arrivez à une conception qui est important.
Ce qui n'est pas ou peu évalué
- ❌ Pas votre capacité à apprendre par coeur (vous avez le droit de consulter vos notes)
- 🔻 Votre capacité à produire uniquement résultats demandés (c'est le minimum!) sans égard à la manière d'y arriver
- ❌ Du code qui ne compile pas ou avec des tests qui ne passent pas (ne sera pas corrigé)
- ❌ Votre capacité à redonner des définitions lors des examens
Logistique
Aide et assistance
FAQ
Les ateliers de travail (majorité des semaines) sont obligatoires et non enregistrés vu la nature des activités (rencontre d'équipe) et le moyen technologique (Discord).
Oui.
Oui. Voir le plan de cours pour plus de détails.
Sauf quelques exceptions pour une activité spéciale, non. Le contenu magistral du cours est présenté sous la forme de vidéos et exercices.
Voici quelques conseils pour se préparer aux examens.
Il est difficile de répondre à cette question comme enseignants 🤔 ...
En général, les étudiant-e-s qui réussissent bien dans ce cours sont ceux qui sont prêts à s'y investir et mettre l'effort nécessaire.
Puisqu'il s'agit d'un cours pratique, le temps requis peut varier grandement entre les personnes et les équipes.
Les ancien-ne-s étudiant-e-s ont trouvé, selon les commentaires recueillis, le cours très enrichissant, légèrement confrontant (sens de défi), mais exigeant.
Certains concepts vus dans le cours demandent de la pratique, de la réflexion et un sens critique. C'est un cours qui se pratique en continu.
Vous pouvez consulter les témoignages d'anciens étudiants...