PHYS-743: Parallel programmingLearn the concepts, tools and API's that are needed to debug, test, optimize and parallelize a scientific application on a cluster from an existing code or from scratch. Both OpenMP (shared memory) and MPI (distributed memory) paradigms are presented and ...
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 ...
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, aiming at providing the link between algorithmic/complexit ...
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 simulation to create synthetic images that are indistingu ...
CS-460: Systems for data management and data scienceThis is a course for students who want to understand modern large-scale data analysis systems and database systems. The course covers fundamental principles for understanding and building systems for managing and analyzing large amounts of data. It covers ...
CS-450: Algorithms IIA first graduate course in algorithms, this course assumes minimal background, but moves rapidly. The objective is to learn the main techniques of algorithm analysis and design, while building a repertory of basic algorithmic solutions to problems in many ...
COM-490: Large-scale data science for real-world dataThis hands-on course covers tools and methods used by data scientists, from researching solutions to scaling prototypes on Spark clusters. Students engage with the full data engineering and data science pipeline, from data acquisition to extracting insight ...
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 computer-checked proofs and certified bug-free code! ...
CS-453: Concurrent computingWith the advent of modern architectures, it becomes crucial to master the underlying algorithmics of concurrency. The objective of this course is to study the foundations of concurrent algorithms and in particular the techniques that enable the constructio ...
FIN-610: International FinanceThis is a doctoral level course introducing students to important topics in international finance. It also covers aspects of the recent financial crisis, such as market contagions, regulatory arbitrage and failure, stability issues of a currency union and ...
MSE-431: Physical chemistry of polymeric materialsThe student has a basic understanding of the physical and physicochemical principles which result from the chainlike structure of synthetic macromolecules. The student can predict major characteristics of a polymer from its chemical structure and molecular ...
PENS-230: Digital ENAC: le codage en contexteDigital ENAC aims to provide students with the ability to apply the principles of coding to the practical life of designers and engineers. We will not focus on a specific coding language, but will ext
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 ...
ENG-613(1): Scientific Writing (EDCH) (1) (Fall)To make researchers aware of good scientific writing
To help them structure their articles
To point out pitfalls in scientific writing
To enable researchers to face their writing with confidence
To deal with specific problems in writing research proposa ...
ENG-613(2): Scientific Writing (EDCH) (2) (Spring)To make researchers aware of good scientific writing To help them structure their articles To point out pitfalls in scientific writing To enable researchers to face their writing with confidence To deal with specific problems in writing research proposals ...
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 ...
CS-423: Distributed information systemsThis course introduces the foundations of information retrieval, data mining and knowledge bases, which constitute the foundations of today's Web-based distributed information systems. ...