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-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 in
ME-443: Hydroacoustic for hydropower plantsIntroduction to pressure wave propagation phenomena in hydraulic circuits, water hammer calculations, transient behaviour of hydroelectric plants, 1D numerical simulation of the dynamic behaviour of F
CS-213: Human computer interactionLa discipline de l'Interaction Homme-Machine (ou HCI : Human-Computer Interaction) vise à systématiquement placer le facteur humain dans la conception de systèmes interactifs.
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
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