CS-214: Software constructionLearn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills (declarative style, higher-order functions, inductive types, parallelism) and
fundam
ME-213: Programmation pour ingénieurMettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introductio
CS-438: Decentralized systems engineeringA decentralized system is one that works when no single party is in charge or fully trusted. This course teaches decentralized systems principles while guiding students through the engineering of thei
CS-491: Introduction to IT consultingThis course is an introduction to the alignment of enterprise needs with the possibilities offered by Information Technology (IT). Using a simulated business case, we explore how to define the require
CS-213: Human computer interactionLa discipline de l'Interaction Homme-Machine (ou HCI : Human-Computer Interaction) vise à systématiquement placer le facteur humain dans la conception de systèmes interactifs.
CS-487: Industrial automationThis course consists of two parts:
- architecture of automation systems, hands-on lab
- dependable systems and handling of faults and failures in real-time systems, including fault-tolerant computin
CS-412: Software securityThis course focuses on software security fundamentals, secure coding guidelines and principles, and advanced software security concepts. Students learn to assess and understand threats, learn how to d
CS-486: Interaction designThis course focuses on goal-directed design and interaction design, two subjects treated in depth in the Cooper book (see reference below). To practice these two methods, we propose a design challenge
MATH-611: Scientific programming for EngineersThe students will acquire a solid knowledge on the processes necessary to design, write and use scientific software. Software design techniques will be used to program a multi-usage particles code, ai
MICRO-371: Software architectureCe cours couvre des sujets liés à l'architecture software moderne et industrielle : la gestion agile de projets, la spécification des besoins, le développement d'applications critiques, la programmat
CS-108: Practice of object-oriented programmingLes étudiants perfectionnent leurs connaissances en Java et les mettent en pratique en réalisant un projet de taille conséquente. Ils apprennent à utiliser et à mettre en œuvre les principaux types de
CS-401: Applied data analysisThis course teaches the basic techniques, methodologies, and practical skills required to draw meaningful insights from a variety of data, with the help of the most acclaimed software tools in the dat
CS-471: Advanced multiprocessor architectureMultiprocessors are basic building blocks for all computer systems. This course covers the architecture and organization of modern multiprocessors, prevalent accelerators (e.g., GPU, TPU), and datacen
MGT-201: Introduction to entrepreneurshipThis course provides an introduction to the field of entrepreneurship, in particular the process of new venture creation and the commercialization of technologies. It integrates theories of entreprene