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 ...
NX-423: Translational neuroengineeringThis course integrates knowledge in basic, systems, clinical and computational neuroscience, and engineering with the goal of translating this integrated knowledge into the development of novel methods, technology for the clinical application for patients ...
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 ...
MATH-251(a): Numerical analysisThis course presents numerical methods to solve mathematical problems such as systems of linear and nonlinear equations, function approximation, integration and differentiation, and differential equations. ...
CS-119(c): Information, Computation, CommunicationL'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (langage C++). ...
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 ...
HUM-432: How people learn: Designing Learning Tools IThe students will understand the cognitive and social factors which affect learning - particularly in science and engineering. They will be able to use social research techniques as part of the design process to understand end users. ...
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-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 ...
BIO-483: Neuroscience: behavior and cognitionThe goal is to guide students into the essential topics of Behavioral and Cognitive Neuroscience. The challenge for the student in this course is to integrate the diverse knowledge acquired from those levels of analysis into a more or less coherent underst ...
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 circuits on register transfer level, analyse their timing a ...
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. ...
BIO-480: Neuroscience: from molecular mechanisms to diseaseThe goal of the course is to guide students through the essential aspects of molecular neuroscience and neurodegenerative diseases. The student will gain the ability to dissect the molecular basis of disease in the nervous system in order to begin to under ...
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. ...
EE-530: Test of VLSI systemsTest of VLSI Systems covers theoretical knowledge related to the major algorithms used in VLSI test, and design for test techniques. Basic knowledge related to computer-aided design for test techniques, and their integration into a design-flow are presente ...
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. ...
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.) ...
PHYS-754: Lecture series on scientific machine learningThis lecture presents ongoing work on how scientific questions can be tackled using machine learning. Machine learning enables extracting knowledge from data computationally and in an automatized way. We will learn on examples how this is influencing the v ...