Résumé de section
-
1. Description du cours :
Le cours CSC 397 – Topics in Computer Science est une unité d’enseignement à contenu évolutif consacrée à l’étude approfondie de thèmes contemporains, spécialisés ou émergents en informatique.
Cette unité permet d’aborder des sujets qui ne sont pas toujours couverts de manière détaillée dans les cours fondamentaux du programme, mais qui présentent un intérêt académique, scientifique, technologique ou professionnel majeur. Les thèmes retenus peuvent évoluer selon les avancées du domaine, les besoins du marché, les priorités de la formation, les compétences disponibles et les orientations de recherche ou d’innovation de l’établissement.
Le cours offre ainsi un cadre souple permettant d’explorer des problématiques actuelles de l’informatique tout en maintenant une démarche pédagogique structurée, rigoureuse et orientée vers l’application.
Selon l’orientation choisie pour une session donnée, le cours peut porter notamment sur :
- l’intelligence artificielle et l’apprentissage automatique ;
- les modèles génératifs et les systèmes intelligents ;
- la science des données et l’analyse prédictive ;
- l’ingénierie des données ;
- la cybersécurité et la protection des systèmes numériques ;
- la sécurité des applications, des réseaux et du cloud ;
- le cloud computing et les architectures distribuées ;
- les systèmes distribués et les microservices ;
- l’Internet des objets ;
- l’informatique en périphérie ;
- les systèmes embarqués ;
- le développement logiciel avancé ;
- les architectures logicielles modernes ;
- les méthodes DevOps et DevSecOps ;
- l’automatisation des infrastructures ;
- les technologies blockchain et les systèmes décentralisés ;
- le calcul haute performance ;
- l’informatique quantique ;
- la vision par ordinateur ;
- le traitement automatique du langage ;
- la robotique ;
- l’interaction homme-machine ;
- les environnements immersifs ;
- les systèmes d’information intelligents ;
- l’éthique, la gouvernance et la responsabilité numérique ;
- les technologies émergentes présentant un intérêt pour la formation en informatique.
Le cours ne se limite pas à une présentation descriptive des technologies étudiées. Il demande à l’étudiant d’examiner les principes de fonctionnement, les architectures, les méthodes, les outils, les cas d’usage, les avantages, les limites, les risques et les conditions de mise en œuvre des thèmes sélectionnés.
L’unité d’enseignement développe une démarche d’analyse permettant à l’étudiant de répondre à des questions telles que :
- quel problème la technologie ou la méthode étudiée cherche-t-elle à résoudre ;
- quels sont ses principes fondamentaux ;
- quels composants sont nécessaires à son fonctionnement ;
- comment cette technologie s’intègre-t-elle dans un système informatique existant ;
- quels avantages apporte-t-elle par rapport aux approches traditionnelles ;
- quelles sont ses limites techniques, économiques, juridiques ou éthiques ;
- quels risques peut-elle introduire ;
- quels critères permettent d’évaluer sa pertinence ;
- dans quels contextes professionnels peut-elle être mise en œuvre ;
- quelles évolutions futures sont envisageables.
Le cours met l’accent sur la capacité de l’étudiant à rechercher, sélectionner, analyser et synthétiser des informations techniques provenant de sources fiables. Il favorise l’exploitation de documents scientifiques, de documentations techniques, de normes, de publications professionnelles, d’études de cas, de rapports d’expérimentation et de dépôts de projets.
L’étudiant est amené à comparer différentes solutions et à apprécier leur adéquation avec un besoin donné. Cette comparaison peut porter sur :
- les performances ;
- la fiabilité ;
- la sécurité ;
- la facilité de déploiement ;
- la maintenabilité ;
- l’interopérabilité ;
- l’évolutivité ;
- la consommation de ressources ;
- les coûts ;
- l’expérience utilisateur ;
- la conformité ;
- l’impact social ou environnemental.
La dimension pratique du cours peut comprendre :
- l’installation et la configuration d’outils ;
- le développement d’un prototype ;
- l’expérimentation d’une technologie ;
- l’analyse d’une architecture ;
- l’étude d’un algorithme ;
- la réalisation d’une preuve de concept ;
- la comparaison de solutions ;
- l’évaluation de performances ;
- l’analyse de risques ;
- la production d’une documentation technique ;
- la présentation d’un projet de recherche appliquée.
Les activités pratiques doivent permettre à l’étudiant de relier les concepts étudiés à des situations concrètes. Elles peuvent être réalisées individuellement ou en équipe, dans un environnement local, virtualisé, cloud ou simulé.
Le cours développe également la capacité à conduire une veille technologique. L’étudiant apprend à identifier une tendance pertinente, à vérifier la crédibilité des sources, à distinguer une innovation réelle d’un simple phénomène de mode et à évaluer le niveau de maturité d’une technologie.
Il doit notamment être capable d’examiner :
- l’état actuel d’une technologie ;
- son niveau d’adoption ;
- ses principaux acteurs ;
- ses standards et écosystèmes ;
- les compétences nécessaires à son utilisation ;
- ses contraintes d’implémentation ;
- ses perspectives d’évolution ;
- les conséquences de son adoption pour les organisations.
L’unité d’enseignement accorde une attention particulière aux dimensions transversales de l’informatique contemporaine, notamment :
- la sécurité dès la conception ;
- la protection des données ;
- la gouvernance numérique ;
- l’éthique professionnelle ;
- la responsabilité algorithmique ;
- la sobriété numérique ;
- l’accessibilité ;
- l’interopérabilité ;
- la qualité logicielle ;
- la documentation ;
- la reproductibilité ;
- la gestion des risques technologiques.
Le cours prépare ainsi l’étudiant à évoluer dans un domaine où les connaissances et les outils se renouvellent rapidement. Il l’amène à développer une capacité d’apprentissage autonome, d’adaptation et d’évaluation critique indispensable à tout professionnel de l’informatique.