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-214: Software constructionLearn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills (declarative style, higher-order functions, inductive types, parallelism) and
fundamental software construction concepts (reusability, abstr ...
PHYS-100: Physique avancée I (mécanique)La Physique Générale I (avancée) couvre la mécanique du point et du solide indéformable. Apprendre la mécanique, c'est apprendre à mettre sous forme mathématique un phénomène physique, en modélisant la situation et appliquant les lois de la physique. ...
CS-250: Algorithms IThe students learn the theory and practice of basic concepts and techniques in algorithms. The course covers mathematical induction, techniques for analyzing algorithms, elementary data structures, major algorithmic paradigms such as dynamic programming, s ...
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 use formal verification tools and explain the theory and ...
COM-406: Foundations of Data ScienceWe discuss a set of topics that are important for the understanding of modern data science but that are typically not taught in an introductory ML course. In particular we discuss fundamental ideas and techniques that come from probability, information the ...
MGT-484: Applied probability & stochastic processesThis course focuses on dynamic models of random phenomena, and in particular, the most popular classes of such models: Markov chains and Markov decision processes. We will also study applications in queuing theory, finance, project management, etc. ...
FIN-525: Financial big dataThe course introduces modern methods to acquire, clean, and analyze large quantities of financial data efficiently. The second part expands on how to apply these techniques and robust statistics to financial analysis, in particular to intraday data and inv ...
FIN-417: Quantitative financial risk managementThis course is an introduction to quantitative risk management that covers standard statistical methods, multivariate models, risk measures, non-linear dependence structures (copula models), as well as credit risk. ...
HUM-274: Musical theory and creativityThis course provides an introduction into music theory and analysis, composition, and creativity, and combines theoretical teaching with hands-on practical exercises and music making. ...
BIO-207: Cellular and molecular biology IIThis course is aimed to familiarize students with the 3D organization of a eukaryotic cell, its compartmentalization, how cellular compartments communicate together and how a cell communicates with its environment. The related molecular mechanisms will be ...
MGT-418: Convex optimizationThis course introduces the theory and application of modern convex optimization from an engineering perspective. ...
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 ...
PHYS-467: Machine learning for physicistsMachine learning and data analysis are becoming increasingly central in sciences including physics. In this course, fundamental principles and methods of machine learning will be introduced and practised. ...
EE-611: Linear system theoryThe course covers control theory and design for linear time-invariant systems : (i) Mathematical descriptions of systems (ii) Multivariables realizations; (iii) Stability ; (iv) Controllability and Observability; (v) Minimal realizations and coprime fracti ...
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 ...
MATH-106(e): Analyse IIÉtudier les concepts fondamentaux d'analyse et le calcul différentiel et intégral des fonctions réelles de plusieurs
variables. ...
MATH-351: Advanced numerical analysis IIThe student will learn state-of-the-art algorithms for solving differential equations. The analysis and implementation of these algorithms will be discussed in some detail. ...
CS-101: Advanced information, computation, communication IDiscrete mathematics is a discipline with applications to almost all areas of study. It provides a set of indispensable tools to computer science in particular. This course reviews (familiar) topics as diverse as mathematical reasoning, combinatorics, disc ...