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 ...
COM-401: Cryptography and securityThis course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how they work and sketch how they can be implemented. ...
CS-308: Introduction to quantum computationThe course introduces the paradigm of quantum computating in an axiomatic way. We introduce the notions of quantum bits, gates, and circuits. We introduce themost important quantum algorithms. We also touch upon error-correcting codes. This course is indep ...
MATH-410: Riemann surfacesThis course is an introduction to the theory of Riemann surfaces. Riemann surfaces naturally appear is mathematics in many different ways: as a result of analytic continuation, as quotients of complex domains under discontinuous group actions, as algebraic ...
MATH-310: AlgebraThis is an introduction to modern algebra: groups, rings and fields. ...
ME-324: Discrete-time control of dynamical systemsOn introduit les bases de l'automatique linéaire discrète qui consiste à appliquer une commande sur des intervalles uniformément espacés. La cadence de l'échantillonnage qui est associée joue un rôle primordial pour assurer la stabilité et la performance d ...
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 ...
COM-501: Advanced cryptographyThis course reviews some failure cases in public-key cryptography. It introduces some cryptanalysis techniques. It also presents fundamentals in cryptography such as interactive proofs. Finally, it presents some techniques to validate the security of crypt ...
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 ...
ME-273: Introduction to control of dynamical systemsCours introductif à la commande des systèmes dynamiques. On part de quatre exemples concrets et on introduit au fur et à mesure un haut niveau d'abstraction permettant de résoudre de manière unifiée les problèmes d'asservissement et de régulation, en parti ...
HUM-412: The ethics of engineering IThis course provides engineers entering the workforce with a hands-on approach to figuring out what to do in ethically challenging professional situations. ...
PHYS-423: Plasma IFollowing an introduction of the main plasma properties, the fundamental concepts of the fluid and kinetic theory of plasmas are introduced. Applications concerning laboratory, space, and astrophysical plasmas are discussed throughout the course. ...
AR-515: UE C : Habitat and societyEn articulant des savoirs théoriques et architecturaux, avec des savoirs socio-politiques, l'UE vise à vérifier la possibilité d'un imaginaire contemporain réaffirmé autour de l'habitat productif. ...
CS-119(a): Information, Computation, CommunicationD'une part, le cours aborde: (1) la notion d'algorithme et de représentation de l'information, (2) l'échantillonnage d'un signal et la compression de données et (3) des aspects
liés aux systèmes: ordinateur, mémoire, etc. D'autre part, le cours donne une i ...
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. ...