COM-501: Advanced cryptographyThis course reviews some failure cases in public-key cryptography. It introduces some cryptanalysis techniques. It also presents fundamentals in cryptography such as interactive proofs. Finally, it pr
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 machin
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
fundam
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 thei
CS-471: Advanced multiprocessor architectureMultiprocessors are basic building blocks for all computer systems. This course covers the architecture and organization of modern multiprocessors, prevalent accelerators (e.g., GPU, TPU), and datacen
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ématique
HUM-265: Anthropology of east AsiaCet enseignement aborde les notions et thèmes relatifs aux cultures et sociétés des mondes chinois ainsi que de ses aires voisines (la Corée et le Japon) et discute de leurs enjeux actuels dans une pe
CS-322: Introduction to database systemsThis course provides a deep understanding of the concepts behind data management systems. It covers fundamental data management topics such as system architecture, data models, query processing and op