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
fundamental software construction concepts (reusability, abstr ...
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 requirements for an IT service that matches stakeholders explic ...
CS-213: Interaction personne-systèmeLa 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-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 design and implement secure software
systems, and get han ...
EE-580: Introduction to the design of space mechanismsSpace environment is different from what we can experience on Earth, requiring specific design approaches in order to achieve reliable operations. Engineers must hence face new challenges stimulating their creativity to tackle those particular constraints. ...
ME-474: Numerical flow simulationThis course provides practical experience in the numerical simulation of fluid flows. Numerical methods are presented in the framework of the finite volume method. A simple solver is developed with Matlab, and a commercial software is used for more complex ...
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 datacenters. It includes a research project on multiprocessors ...
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 their own decentralized system featuring messaging, file sha ...
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 entrepreneurship with a practical, process-based
project, where st ...
ME-443: Hydroacoustic for hydropower plantsIntroduction to pressure wave propagation phenomena in hydraulic circuits, water hammer calculations, transient behaviour of hydroelectric plants, 1D numerical simulation of the dynamic behaviour of Francis, Pelton and Kaplan turbines, and study of the sta ...
MICRO-301: Manufacturing technologiesThis course gives an introduction to production methods and manufacturing technologies used in microengineering. The focus is given on the understanding of physical phenomena underlying the processes, the relation between materials, manufacturing processes ...
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, which is further divided into mini-projects evenly spa ...
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 data science world (pandas, scikit-learn, Spark, etc.) ...
EE-600: Usability engineeringIntroduction to Human Factors/Usability Engineering theory and research methods.
Human Factors Engineering/Usability is interdisciplinary and focuses on human cognition, behavior and ergonomics in design. The course focus on human systems integration and ...
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. Introduction à l'instrumentation virtuelle. ...
CS-290: Responsible softwareSoftware's growing importance increases engineers' responsibility to integrate ethical concerns in the design and development process. This course teaches students concrete strategies for responsible software engineering, focusing on identifying ethical is ...
ChE-340: Le génie de la réaction chimiqueCe cours applique les concepts de la cinétique chimique et des bilans de masse et d'énergie pour résoudre les problèmes de génie des réactions chimiques, en mettant l'accent sur les applications industrielles. Les étudiants développent leur capacité d'anal ...
EE-530: Test of VLSI systemsTest of VLSI Systems covers theoretical knowledge related to the major algorithms used in VLSI test, and design for test techniques. Basic knowledge related to computer-aided design for test techniques, and their integration into a design-flow are presente ...