CS-470: Advanced computer architectureThis course explores techniques for exploiting instruction-level parallelism both statically and dynamically. It also addresses the generation of hardware accelerators from programming languages and investigates security issues related to microarchitectura ...
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 ...
PHYS-441: Statistical physics of biomacromoleculesBiological macromolecules such as DNA, RNA, proteins and cytoskeletal filaments are polymers. As such, they share a set of properties that are common to any polymer, which are the focus of this course. Details about the protein folding problem will be cove ...
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 interfaces de microcontrôleurs, et protocoles de communic ...
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 protocoles de communication série. ...
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-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 analysis of varoius advanced computer architecture techniqu ...
CH-220: Preparative chemistry IApplication de la réactivité de base en chimie organique à la synthèse multi-étapes de molécules polyfonctionnelles. Instruction sur les règles de sécurité dans un laboratoire de chimie de synthèse. Apprentissage de la planification et du suivi de voies de ...
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 concepts that underpin modern computing technology. ...
CS-411: Digital educationThis course addresses the relationship between specific technological features and the learners' cognitive processes. It also covers the methods and results of empirical studies: do student actually learn due to technologies? In fall 2025, P. Dillenbourg w ...
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 ...
CS-420: Advanced compiler constructionStudents learn several implementation techniques for modern functional and object-oriented programming languages. They put some of them into practice by developing key parts of a compiler and run time system for a simple functional programming language. ...
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. ...
PHYS-743: Parallel programmingLearn the concepts, tools and API's that are needed to debug, test, optimize and parallelize a scientific application on a cluster from an existing code or from scratch. Both OpenMP (shared memory) and MPI (distributed memory) paradigms are presented and ...
CS-119(g): 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 (langage C++). ...
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 algorithms in smart hardware-software solutions. ...
AR-616: EDAR thesis writing workshopThe workshop will equip participants with practical skills necessary to make thesis writing smoother and better organized. Main issues
covered are: getting started, structure and argumentation, time management and self-motivation, getting and handling feed ...
CS-307: Introduction to multiprocessor architectureMultiprocessors are a core component in all types of computing infrastructure, from phones to datacenters. This course will build on the prerequisites of processor design and concurrency to introduce the essential technologies required to combine multiple ...
HUM-301: Artistic practices BCe cours propose aux étudiant-e-s un panorama de formes textuelles ainsi que différentes expériences d'écriture autour de textes courts. C'est autant un atelier de fabrication de textes qu'un salon de lecture et d'écoute. ...
HUM-402: Experimental history of science IThe course allows students to learn by doing about the history of science, and the role played by experimentation, technical skills or material objects in the production of knowledge. Students will explore these topics by reconstructing a historical experi ...