CS-452: Foundations of softwareThe course introduces the foundations on which programs and programming languages are built. It introduces syntax, types and semantics as building blocks that together define the properties of a progr
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
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
CH-457: AI for chemistryThe AI for Chemistry course will focus on teaching students how to use machine learning algorithms and techniques to analyze and make predictions about chemical data. The course will cover topics such
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
ENG-466: Distributed intelligent systemsThe goal of this course is to provide methods and tools for modeling distributed intelligent systems as well as designing and optimizing coordination strategies. The course is a well-balanced mixture
PHYS-715: Physical Optics and Advanced ImagingThis course gives an introduction to principles of Fourier and physical optics, numerical propagation, and sampling. On the second half the course covers topics of advanced imaging, including 3 extern
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
CS-522: Principles of computer systemsThis advanced graduate course teaches the key design principles underlying successful computer and communication systems, and shows how to solve real problems with ideas, techniques, and algorithms fr
CS-440: Advanced computer graphicsThis course covers advanced 3D graphics techniques for realistic image synthesis. Students will learn how light interacts with objects in our world, and how to recreate these phenomena in a computer s
CS-412: Software securityThis course focuses on software security fundamentals, secure coding guidelines and principles, and advanced software security concepts. Students learn to assess and understand threats, learn how to d
CS-428: Interactive theorem provingA hands-on introduction to interactive theorem proving, computer-checked mathematics, compiler verification, proofs as programs, dependent types, and proof automation.
Come learn how to write compute
CS-477: Advanced operating systemsThis course teaches advanced OS system design. Using an extensive hands-on approach, the course focuses on traditional and new concepts proposed in the past two decades in the area of operating system
MGT-416: Causal inferenceStudents will learn the core concepts and techniques of network analysis with emphasis on causal inference. Theory and
application will be balanced, with students working directly with network data th
PHYS-463: Computational quantum physicsThe numerical simulation of quantum systems plays a central role in modern physics. This course gives an introduction to key simulation approaches, through lectures and practical programming exercises
BIOENG-455: Computational cell biologyComputer modelling is increasingly used to study dynamic phenomena in cell biology. This course shows how to identify common mathematical features in cell biological mechanisms, and become proficient
FIN-607: Empirical Asset PricingThis class is designed to give you an understanding of the basics of empirical asset pricing. This means that we will learn how to test asset pricing models and apply them mostly to stock markets. We