CS-202: Computer systemsThis course will teach operating systems and networks in an integrated fashion,emphasising the fundamental concepts and techniques that make their interaction possible/practical. Core lectures will be
ChE-310: Fundamentals of separation processesThe course will cover fundamentals concepts of separation processes involving chemical equilibrium and mass transfer. Students will design separation processes widely used in the industry, for the sep
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-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
HUM-226: Wellbeing and Planetary BoundariesL'objectif de ce cours est de donner une compréhension globale des enjeux de la durabilité et de ses implications. Que signifie "durabilité" ? Comment est-elle mesurée ? Comment l'atteindre ?
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. Introductio
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
COM-301: Computer security and privacyThis is an introductory course to computer security and privacy. Its goal is to provide students with means to reason about security and privacy problems, and provide them with tools to confront them.
CS-510: Topics in software securityMemory corruption and type safety flaws dominate the threat landscape. We will approach current research
from three dimensions: sanitization (finding flaws through runtime monitors); fuzzing (testing
CS-626: Evolution of Storage SystemsThis discussion-based class will focus on how storage systems have evolved over time. We will cover topics such as persistent memory, CXL, and disaggregated storage systems. At the end of the class,
CS-309: Projet de systems-on-chipL'objectif de ce cours est de s'approprier les connaissances nécessaires pour réaliser du développement "full stack" depuis le hardware jusqu'au software application et s'exécutant sur un système d'ex
CS-207: System oriented programmingCours de programmation en langage C se focalisant sur l'utilisation des ressources système, en particulier la gestion de la mémoire (pointeurs).
CS-212: System programming projectL'objectif de ce cours à projet est de donner aux étudiants une expérience de la pratique de la programmation système : écriture, correction, amélioration et analyse critique de leur code.
CS-449: Systems for data scienceThe course covers fundamental principles for understanding and building systems for managing and analyzing large amounts of data.
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