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 ...
COM-490: Large-scale data science for real-world dataThis hands-on course covers tools and methods used by data scientists, from researching solutions to scaling prototypes on Spark clusters. Students engage with the full data engineering and data science pipeline, from data acquisition to extracting insight ...
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 ...
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. ...
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 programmation robuste, et les aspects devOps (automatisation de te ...
CS-523: Advanced topics on privacy enhancing technologiesThis advanced course will provide students with the knowledge to tackle the design of privacy-preserving ICT systems. Students will learn about existing technologies to prect privacy, and how to evaluate the protection they provide. ...
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 ...
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-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 ...
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-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.) ...
ME-419: Production managementProduction management deals with producing goods sustainably at the right time, quantity, and quality with the minimum cost. This course equips students with practical skills and tools for effectively managing demand, supply, and implementing advanced anal ...
MATH-458: Programming concepts in scientific computingThe aim of this course is to provide the background in scientific computing. The class includes a brief introduction to basic programming in c++, it then focuses on object-oriented programming and c++ specific programming techniques. Typical class hierarch ...
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 ...
ME-403: Applied mechanical designStudents will be exposed to hands-on design problems throughout the term. They will acquire methodologies to (1) address open ended engineering problems, (2) cultivate creativity, (3) support decision making and (4) develop problem solving abilities. ...