CS-522: Principles of computer systemsThis advanced graduate course teaches the key design principles underlying successful computer and communication systems, and shows how to solve real problems with ideas, techniques, and algorithms from operating systems, networks, databases, programming l ...
CS-550: Formal verificationWe introduce formal verification as an approach for developing highly reliable systems. Formal verification finds proofs that computer systems work under all relevant scenarios. We will learn how to use formal verification tools and explain the theory and ...
EE-611: Linear system theoryThe course covers control theory and design for linear time-invariant systems : (i) Mathematical descriptions of systems (ii) Multivariables realizations; (iii) Stability ; (iv) Controllability and Observability; (v) Minimal realizations and coprime fracti ...
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-119(h): Information, Computation, CommunicationL'objectif de ce cours est d'initier les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'informatique et des communications et de développer une première compétence en programmation avec le langage Python. ...
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.) ...
ChE-340: The engineering of chemical reactionsCe 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 ...
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 ...
PENS-230: Digital ENAC: le codage en contexteDigital ENAC aims to provide students with the ability to apply the principles of coding to the practical life of designers and engineers. We will not focus on a specific coding language, but will ext
CS-320: Computer language processingWe teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. You will build a working compiler from an elegant functional language into machine code using a popular backend called LLVM (htt ...
PHYS-101(a): General physics : mechanicsLe but du cours de physique générale est de donner à l'étudiant les notions de base nécessaires à la compréhension des phénomènes physiques. L'objectif est atteint lorsque l'étudiant est capable de prévoir quantitativement les conséquences de ces phénomène ...
BIO-491: New tools & research strategies in personalized healthThis course introduces the concept of personalized health, exploring its foundational technologies as well as the technological, legal, and ethical challenges the field currently faces. Strategies and approaches used to address these challenges will also b ...
ENG-466: Distributed intelligent systemsThe goal of this course is to provide methods and tools for modeling distributed intelligent systems as well as designing
and optimizing coordination strategies. The course is a well-balanced mixture of theory and practical activities. ...
MICRO-401: Machine learning programmingThis is a practice-based course, where students program algorithms in machine learning and evaluate the performance of the algorithm thoroughly using real-world dataset. ...
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 collections (listes, ensembles, tables associatives), e ...
ENV-501: Material flow analysis and resource managementThis course provides the basis to understand material and energy production and consumption processes. Students learn how to develop a material flow analysis and apply it to resource management cases. They analyze the implications of their models on resour ...
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-250: Algorithms IThe students learn the theory and practice of basic concepts and techniques in algorithms. The course covers mathematical induction, techniques for analyzing algorithms, elementary data structures, major algorithmic paradigms such as dynamic programming, s ...
EE-330: Digital IC designDigital IC Design presents the fundamentals of digital integrated circuit design. The methods and techniques aiming at the fabrication and development of digital integrated circuits are reviewed, the major design style pertaining to digital logic and memor ...