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 fr
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
CS-173: Fundamentals of digital systemsWelcome to the introductory course in digital design and computer architecture. In this course, we will embark on a journey into the world of digital systems, exploring the fundamental principles and
CS-476: Embedded system designHardware-software co-design is a well known concept in embedded system design.It is also a concept required in designing FPGA-accelerators in data-centers.This course teaches how to transform algorith
EE-334: Digital systems designStudents will acquire basic knowledge about methodologies and tools for the design, optimization, and verification of custom digital systems/hardware.
They learn how to design synchronous digital cir
MICRO-515: Evolutionary roboticsThe course gives an introduction to evolutionary computation, its major algorithms, applications to optimization problems (including evolution of neural networks), and application to design and contro
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
MICRO-452: Basics of mobile roboticsThe course teaches the basics of autonomous mobile robots. Both hardware (energy, locomotion, sensors) and software (signal processing, control, localization, trajectory planning, high-level control)
CS-202: Computer systemsThis course will teach operating systems and networks in an integrated fashion,emphasising the fundamental concepts and techniques that make their interaction possible/practical. Core lectures will be
COM-304: Communications projectThe course teaches the development of systems that solve real-world challenges in communications, signal processing, AI, and robotics. Students will work in teams, construct their ideas, and either pr
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
CH-335: Asymmetric synthesis and retrosynthesisLa première partie du cours décrit les méthodes classiques de synthèse asymétrique. La seconde partie du cours traite des stratégies de rétrosynthèse basées sur l'approche par disconnection.
MSE-305: Introduction to atomic-scale modelingThis course provides an introduction to the modeling of matter at the atomic scale, using interactive Jupyter notebooks to see several of the core concepts of materials science in action.
CS-597: Master project in CybersecurityThe student carries out an academic or industrial master's project. The student will use skills and knowledge to accomplish an independent Master in Cybersecurity
MICRO-621: MOOC: Micro and Nanofabrication (MEMS)Micro- and nanofabrication can be taught to students and professionals by textbooks and ex-cathedra lectures, but the real learning comes from seeing the manufacturing steps as they happen. This MOOC
CS-599: Master project in Computer ScienceThe student carries out an academic or industrial master's project. The student will use the required skills and knowledge to accomplish an independent Master in Computer Science.
COM-401: Cryptography and securityThis course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how