Les laboratoires visent dans un premier temps à mettre en pratique les connaissances acquises durant les cours qui ont une portée plus théorique. Dans un second temps, ils visent à permettre aux étudiants d'intégrer des notions et méthodes d'ingénierie acquises dans ce cours ainsi que dans des cours précédents (par exemple, conception logicielle, patrons de conception, documents et diagrammes d'architecture, tests). Finalement, les laboratoires visent également à permettre aux étudiants d'explorer des technologies complémentaires aux notions théoriques vues en classe (par exemple, l'utilisation de cadriciels (frameworks) web, d'APIs tierce-partie, etc.).
Les laboratoires sont effectués en partie dans les plages attitrées à l’horaire à raison de 2h/semaine, et complétés sur votre temps personnel. Note: il est recommandé d'assister aux laboratoires (pour les laboratoires tenus à distance, au moyen de la plate-forme Discord), puisque c'est la manière préviliégiée pour profiter de la disponibilité de votre chargé de lab.
Concrètement, le volet "laboratoire" du cours consiste en un projet d’application pratique qui est réalisé en équipe, et qui est découplé en 3 livrables. Les dates d’évaluation des différents livrables seront communiquées au cours de la session, et il est important que chacun des membres de l’équipe soit présent à chacune des séances de lab où un livrable est évalué, puisqu’une démonstration des fonctionnalités du livrable devra être faite au chargé de laboratoire.
Note: les sujets et énoncés des différents livrables seront communiqués durant la session; mais ne suivront pas toujours la progression du cours théorique -- il sera demandé aux étudiant(e)s d'explorer par eux-mêmes certains concepts nécessaires à la réalisation des laboratoires, même s'ils n'ont pas encore été présentés durant le cours.