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
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 u
BIO-373: Genetics and genomicsThe theoretical part of this course covers classical genetics and contemporary genomics. Because bioinformatics has become important for genomic research, the course also includes practical applicatio
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
ChE-403: Heterogeneous reaction engineeringThe theoretical background and practical aspects of heterogeneous reactions including the basic knowledge of heterogeneous catalysis are introduced. The fundamentals are given to allow the design of m
COM-621: Advanced Topics in Information TheoryThe class will focus on information-theoretic progress of the last decade. Topics include: Network Information Theory ; Information Measures: definitions, properties, and applications to probabilistic
AR-531: Introduction to building archaeologyCet enseignement transmet les notions de base dans les méthodes d'étude et d'analyse en archéologie de la construction. L'objectif est de développer chez les étudiant.e.s une meilleure compréhension d
MSE-234: Mechanical behaviour of materialsCe cours est une introduction au comportement mécanique, à l'élaboration, à la structure et au cycle de vie des grandes classes de matériaux de structure (métaux, polymères, céramiques et composites)
MATH-611: Scientific programming for EngineersThe students will acquire a solid knowledge on the processes necessary to design, write and use scientific software. Software design techniques will be used to program a multi-usage particles code, ai
ME-615: Introduction to earthquake source physicsThis course presents the classical and new approaches required to study the source mechanisms of earthquakes, combining theory and observations in a unified methodology, with a key focus on the mechan
PHYS-758: Advanced Course on Quantum CommunicationThe aim of this doctoral course by Nicolas Sangouard is to lay the theoretical groundwork that is needed for students to understand how to take advantage of quantum effects for communication technolog
CS-306: Software development projectThis course teaches the basics of developing real-world software, i.e., software that is large and complex, is developed by a team, evolves and needs to be maintained, and can cause serious harm if it