Enseignants
Langue
d'enseignement
d'enseignement
Préalables
Requis : expérience initiale en projets informatiques, telle que visée par le cours LINFO1001
Requis : compétences en programmation dans le langage C telles qu'enseignées dans le cours LEPL1503
Requis : compétences en programmation dans le langage C telles qu'enseignées dans le cours LEPL1503
Thèmes abordés
Ce cours traite d'un sujet avancé spécifique ou d'une sélection des sujets d'intérêt actuellement au niveau de la recherche dans le domaine du génie logiciel.
Le sujet (s) peut (peuvent) varier d'année en année, et sera choisi parmi une variété de domaines d'ingénierie logicielle tels que l'informatique de données à forte intensité, l'analyse de logiciels, le développement et l'analyse de grands systèmes évolutifs de logiciels, les techniques liées aux grandes quantités de données, la fouille du code des logiciels , les systèmes de recommandation de logiciels, la visualisation de logiciels, les nouvelles technologies de programmation, les exigences de logiciels et l'analyse logicielle, l'ingénierie logicielle basée sur des modèles, la gestion de la configuration de logiciel, les processus d'ingénierie logicielle, les outils et méthodes de génie logiciel, les tests et la qualité des logiciels, etc.
Le sujet (s) peut (peuvent) varier d'année en année, et sera choisi parmi une variété de domaines d'ingénierie logicielle tels que l'informatique de données à forte intensité, l'analyse de logiciels, le développement et l'analyse de grands systèmes évolutifs de logiciels, les techniques liées aux grandes quantités de données, la fouille du code des logiciels , les systèmes de recommandation de logiciels, la visualisation de logiciels, les nouvelles technologies de programmation, les exigences de logiciels et l'analyse logicielle, l'ingénierie logicielle basée sur des modèles, la gestion de la configuration de logiciel, les processus d'ingénierie logicielle, les outils et méthodes de génie logiciel, les tests et la qualité des logiciels, etc.
Acquis
d'apprentissage
d'apprentissage
A la fin de cette unité d’enseignement, l’étudiant est capable de : | |
Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
|
|
Contenu
Ce projet de génie logiciel consiste en le développement (analyse, conception, implémentation, validation, documentation, intégration et déploiement) d’une application logicielle réaliste et non triviale, si possible proposée par un client réel et développée avec sa participation, dans des conditions de travail semi-professionnelles.
Le sujet de l’application à construire est proposé par un partenaire industriel ou une organisation à but non lucratif qui participe à l’organisation de ce cours.
Des équipes de 6 à 8 étudiants, nécessaires à la réalisation d’un projet de grande envergure, collaboreront sous la supervision d’un chef de projet.
Des réunions hebdomadaires auront lieu avec le chef de projet (un assistant ou un tuteur) afin de présenter les progrès réalisés et les difficultés rencontrées, d’évaluer les différentes alternatives, et de discuter de la répartition et de la planification du travail au sein de l’équipe.
L’application à développer sera très probablement une application web. Toutefois, le choix du langage de programmation, de l’environnement, du cadre d’application et des outils de développement dépendra des exigences du client du projet.
Le sujet de l’application à construire est proposé par un partenaire industriel ou une organisation à but non lucratif qui participe à l’organisation de ce cours.
Des équipes de 6 à 8 étudiants, nécessaires à la réalisation d’un projet de grande envergure, collaboreront sous la supervision d’un chef de projet.
Des réunions hebdomadaires auront lieu avec le chef de projet (un assistant ou un tuteur) afin de présenter les progrès réalisés et les difficultés rencontrées, d’évaluer les différentes alternatives, et de discuter de la répartition et de la planification du travail au sein de l’équipe.
L’application à développer sera très probablement une application web. Toutefois, le choix du langage de programmation, de l’environnement, du cadre d’application et des outils de développement dépendra des exigences du client du projet.
Méthodes d'enseignement
Le cours repose sur le développement complet (analyse, conception, implémentation, validation, documentation, intégration et déploiement) d’un logiciel de grande envergure pour un client potentiel, réalisé en équipe de 6 à 8 étudiants et supervisé par un chef de projet.
Des réunions hebdomadaires auront lieu avec le chef de projet afin d’assurer le suivi du travail, la planification des tâches et le suivi de la progression du projet. Différents prototypes et rapports techniques devront être produits au cours du semestre.
Concernant l’utilisation de l’intelligence artificielle générative, nous appliquerons les lignes directrices de l’EPL pour une utilisation responsable de l’intelligence artificielle générative.
Des réunions hebdomadaires auront lieu avec le chef de projet afin d’assurer le suivi du travail, la planification des tâches et le suivi de la progression du projet. Différents prototypes et rapports techniques devront être produits au cours du semestre.
Concernant l’utilisation de l’intelligence artificielle générative, nous appliquerons les lignes directrices de l’EPL pour une utilisation responsable de l’intelligence artificielle générative.
Modes d'évaluation
des acquis des étudiants
des acquis des étudiants
L’évaluation du cours sera basée sur les éléments suivants :
Précision importante : une participation active et équilibrée de chaque étudiant est attendue dans l’ensemble des volets du projet :
En cas d’utilisation abusive de l’intelligence artificielle générative, nous nous référerons au règlement de l’EPL concernant l’utilisation abusive de l’intelligence artificielle générative.
- La participation individuelle, continue, active et équilibrée aux travaux de groupe ainsi qu’aux réunions hebdomadaires avec les assistants/tuteurs du cours.
- La réalisation d’un rapport identifiant les spécifications du projet.
- La réalisation de deux à trois prototypes intermédiaires, accompagnés de leurs rapports techniques respectifs, ainsi que de présentations et de séances de questions-réponses. Pour chaque prototype, des interviews techniques permettront également d’évaluer la compréhension et la maîtrise des solutions développées par les étudiant(e)s.
- Le rapport final, le système livré et sa documentation, ainsi que la présentation et la démonstration du produit final devant le client ou un intermédiaire.
- L’intégration des solutions des différents groupes au sein d’un produit complet.
Précision importante : une participation active et équilibrée de chaque étudiant est attendue dans l’ensemble des volets du projet :
- l’analyse et la conception ;
- le développement (implémentation et tests) ;
- l’intégration ;
- la documentation (rapports et démonstration).
En cas d’utilisation abusive de l’intelligence artificielle générative, nous nous référerons au règlement de l’EPL concernant l’utilisation abusive de l’intelligence artificielle générative.
Autres infos
Préalables:
- Avoir une bonne connaissance et expérience avec les concepts de la programmation orientée objet, les algorithmes et les structures de données.
- Avoir participé à l'élaboration d'un système logiciel de petite à moyenne échelle.
Ressources
en ligne
en ligne
Bibliographie
French
Des lectures supplémentaires seront suggérées dans le plan de cours qui décrit les produits livrables et l'organisation du projet. Les supports de cours pertinents, des slides et des informations pratiques seront accessibles sur Moodle, qui sera également le principal moyen de communication entre l'enseignant et les étudiants.
English Additional reading material will be suggested in the course plan which describes the deliverables and organisation of the project. All relevant course material, slides and practical information will be available on Moodle, which will also be the main means of communication between the teacher and the students.
Des lectures supplémentaires seront suggérées dans le plan de cours qui décrit les produits livrables et l'organisation du projet. Les supports de cours pertinents, des slides et des informations pratiques seront accessibles sur Moodle, qui sera également le principal moyen de communication entre l'enseignant et les étudiants.
English Additional reading material will be suggested in the course plan which describes the deliverables and organisation of the project. All relevant course material, slides and practical information will be available on Moodle, which will also be the main means of communication between the teacher and the students.
Faculté ou entité
en charge
en charge