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
CS-524: Computational complexityIn computational complexity we study the computational resources needed to solve problems and understand the relation between different types of computation.
This course advances the students knowle
CS-251: Theory of computationThis course constitutes an introduction to theory of computation. It discusses the basic theoretical models of computing (finite automata, Turing machine), as well as, provides a solid and mathematica
MATH-261: Discrete optimizationThis course is an introduction to linear and discrete optimization.
Warning: This is a mathematics course! While much of the course will be algorithmic in nature, you will still need to be able to p
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-371: Discretization methods in fluidsCe cours présente une introduction aux méthodes d'approximation utilisées pour la simulation numérique en mécanique des fluides.
Les concepts fondamentaux sont présentés dans le cadre de la méthode d
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: ordi
CS-602: Foundation of probabilistic proofsProbabilistic proof system (eg PCPs and IPs) have had a tremendous impact on the theoretical computer science, and have also found practical uses. They underlie delegation of computation protocols and