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-470: Advanced computer architectureThe course studies techniques to exploit Instruction-Level Parallelism (ILP) statically and dynamically. It also addresses some aspects of the design of domain-specific accelerators. Finally, it explo
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-473: System programming for Systems-on-chipTo efficiently program embedded systems an understanding of their architectures is required. After following this course students will be able to take an existing SoC, understand its architecture, 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
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-721: Privacy at the communication layerIn this seminar course students will get in depth understanding of mechanisms for private communication. This will be done by reading important papers that will be analyzed in the class. Students will
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-629: Constructive Computer ArchitectureBeginning with a basic pipeline processor, student will learn to implement intriguing architectural techinques through a series of labs. The class will emphasize the implementation, debugging, and ana
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
CS-477: Advanced operating systemsThis course teaches advanced OS system design. Using an extensive hands-on approach, the course focuses on traditional and new concepts proposed in the past two decades in the area of operating system
EE-208: Microcontrollers and digital systemsMicrocontrôleurs et conception de systèmes numériques couvre le fonctionnement interne d'un microcontrôleur, des notions de base d'architecture de processeur et de système informatique ainsi que les i
MICRO-210: MicrocontrollersMicrocontrôleurs couvre le fonctionnement interne d'un microcontrôleur, des notions de base d'architecture de processeur et de système informatique ainsi que les interfaces de microcontrôleurs, et pro
EE-567: Semiconductor devices IIStudents will learn about understanding the fundamentals and applications of emerging nanoscale devices, materials
and concepts. Remark: at least 5 students should be enrolled for the course to be giv
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
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
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 in
MICRO-510: Embedded motor controlL'étudiant sera capable de concevoir, de réaliser et de programmer une électronique complète de commande de moteur ou d'actionneur. Il saura appliquer la théorie de la commande de moteur sur des systè