MATH-458: Programming concepts in scientific computingThe aim of this course is to provide the background in scientific computing. The class includes a brief introduction to basic programming in c++, it then focuses on object-oriented programming and c++ specific programming techniques. Typical class hierarch ...
MSE-213: Probability and statistics for materials scienceThe course establishes the concepts of statistical analysis, probability theory, and data analysis. This includes standard statistical tests, correlation analysis and experimental design. It introduces computational statistical methods to analyse large dat ...
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-421: Machine learning for behavioral dataComputer environments such as educational games, interactive simulations, and web services provide large amounts of data, which can be analyzed and serve as a basis for adaptation. This course will cover the core methods of user modeling and personalizatio ...
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 design and implement secure software
systems, and get han ...
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 ...
CS-438: Decentralized systems engineeringA decentralized system is one that works when no single party is in charge or fully trusted. This course teaches decentralized systems principles while guiding students through the engineering of their own decentralized system featuring messaging, file sha ...
CS-451: Distributed algorithmsComputing is nowadays distributed over several machines, in a local IP-like network, a cloud or a P2P network. Failures are common and computations need to proceed despite partial failures of machines or communication links. This course will study the fo ...
MATH-251(a): Numerical analysisThis course presents numerical methods to solve mathematical problems such as systems of linear and nonlinear equations, function approximation, integration and differentiation, and differential equations. ...
CS-119(g): Information, Computation, CommunicationL'objectif de ce cours est d'initier les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de
l'informatique et des communications et de développer une première compétence en programmation (langage C++). ...
EE-205: Signals and systems (for EL)Ce cours pose les bases d'un concept essentiel en ingénierie : la notion de système. Plus spécifiquement, le cours présente la théorie des systèmes linéaires invariants dans le temps (SLIT), qui sont largement utilisés pour modéliser aussi bien une réalité ...
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-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! ...
CIVIL-321: Numerical modelling of solids and structuresLa modélisation numérique des solides est abordée à travers la méthode des éléments finis. Les aspects purement analytiques sont d'abord présentés, puis les moyens d'interpolation, d'intégration et de résolution de la mécanique sont étudiés. ...
EE-608: Deep Learning For Natural Language ProcessingThis course covers advanced topics in deep learning architectures for natural language processing. The focus is on attention-based architectures, structure processing and variational-Bayesian approaches, and why these models are particularly suited to the ...
ChE-312: Numerical methodsThis course introduces students to modern computational and mathematical techniques for solving problems in chemistry and chemical engineering. The use of introduced numerical methods will be demonstrated using the Python programming language. ...
ChE-411: Principles and applications of systems biologyThe course introduces and develops the key concepts from systems biology and systems engineering in the context of complex biological networks. The lectures elaborate on techniques and methods to model and analyze complex biological problems. ...