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 ...
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-108: Pratique de la programmation orientée-objetLes étudiants perfectionnent leurs connaissances en Java et les mettent en pratique en réalisant un projet de taille conséquente. Ils apprennent à utiliser et à mettre en œuvre les principaux types de collections (listes, ensembles, tables associatives), e ...
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 ...
PHYS-512: Statistical physics of computationThe students understand tools from the statistical physics of disordered systems, and apply them to study computational and statistical problems in graph theory, discrete optimisation, inference and machine learning. ...
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 ...
ME-213: Programmation pour ingénieurMettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introduction à l'instrumentation virtuelle. ...
ENG-209: Data science pour ingénieurs avec PythonCe cours propose une immersion progressive et complète dans le domaine de la Data Science à travers le langage Python. Il guide les étudiants depuis la manipulation de données brutes jusqu'à la modélisation et l'extraction de connaissances utiles à partir ...
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 ...
HUM-274: Musical theory and creativityThis course provides an introduction into music theory and analysis, composition, and creativity, and combines theoretical teaching with hands-on practical exercises and music making. ...
CS-119(c): Information, calcul, communicationL'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (langage C++). ...
CS-119(h): Information, calcul, 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 avec le langage Python. ...
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 program part or a language. Students will learn how to apply ...
FIN-406: MacrofinanceThis course provides students with a working knowledge of macroeconomic models that explicitly incorporate financial markets. The goal is to develop a broad and analytical framework for analyzing the interaction of financial decisions, macroeconomic events ...
CS-628: Interactive Theorem Proving CSA hands-on introduction to interactive theorem proving, proofs as programs, dependent types, and to the Coq proof assistant. Come learn how to write bug-free code! ...
CS-210: Functional programmingUnderstanding of the principles and applications of functional programming, the fundamental models of program
execution, application of fundamental methods of program composition, meta-programming through the construction of
interpreters and advanced progr ...
MATH-680: Monstrous moonshineThe monstrous moonshine is an unexpected connection between the Monster group and modular functions. In the course we will explain the statement of the conjecture and study the main ideas and concepts leading to its proof. Our final goal is to study Borc ...
CS-422: Database systemsThis course is intended for students who want to understand modern large-scale data analysis systems and database systems. It covers a wide range of topics and technologies, and will prepare students to be able to build such systems as well as read and und ...
HUM-485: Data in context: Critical Data Studies ILe cours "Critical Data Studies" s'inscrit dans la nouvelle offre d'enseignements TILT qui propose de croiser des savoirs provenant des SHS et des sciences de l'ingénieur afin d'aborder des thématiques complexes qui nécessitent une méthodologie interdiscip ...