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-420: Advanced compiler constructionStudents learn several implementation techniques for modern functional and object-oriented programming languages. They put some of them into practice by developing key parts of a compiler and run time system for a simple functional programming language. ...
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 ...
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 ...
ENG-466: Distributed intelligent systemsThe goal of this course is to provide methods and tools for modeling distributed intelligent systems as well as designing
and optimizing coordination strategies. The course is a well-balanced mixture of theory and practical activities. ...
MICRO-210: MicrocontrollersMicrocontrôleurs couvre le fonctionnement interne d'un microcontrôleur, des notions de base d'architecture de processeur et de système informatique ainsi que les interfaces de microcontrôleurs, et protocoles de communication série. ...
CS-460: Systems for data management and data scienceThis is a course for students who want to understand modern large-scale data analysis systems and database systems. The course covers fundamental principles for understanding and building systems for managing and analyzing large amounts of data. It covers ...
PHYS-715: Physical Optics and Advanced ImagingThis course gives an introduction to principles of Fourier and physical optics, numerical propagation, and sampling. On the second half the course covers topics of advanced imaging, including 3 external lecturers who are experts in application or developme ...
CS-476: Embedded system designHardware-software co-design is a well known concept in embedded system design.It is also a concept required in designing FPGA-accelerators in data-centers.This course teaches how to transform algorithms in smart hardware-software solutions. ...
EE-208: Microcontrollers and digital systemsMicrocontrôleurs et conception de systèmes numériques couvre le fonctionnement interne d'un microcontrôleur, des notions de base d'architecture de processeur et de système informatique ainsi que les interfaces de microcontrôleurs, et protocoles de communic ...
CS-440: Advanced computer graphicsThis course covers advanced 3D graphics techniques for realistic image synthesis. Students will learn how light interacts with objects in our world, and how to recreate these phenomena in a computer simulation to create synthetic images that are indistingu ...
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-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 from operating systems, networks, databases, programming l ...
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 systems. ...
MGT-416: Causal inferenceStudents will learn the core concepts and techniques of network analysis with emphasis on causal inference. Theory and
application will be balanced, with students working directly with network data throughout the course. ...
CS-358(b): Making intelligent things BThe course aims at teaching the prototyping of intelligent physical artifacts. It aims to solve real-world challenges by a
combination of microcontroller programming, electronics, and computer -aided design and manufacturing. Student teams
choose their own ...
PHYS-463: Computational quantum physicsThe numerical simulation of quantum systems plays a central role in modern physics. This course gives an introduction to key simulation approaches, through lectures and practical programming exercises. Simulation methods based both on classical and quantum ...
CS-358(a): Making intelligent things AThe course aims at teaching the prototyping of intelligent physical artifacts. It aims to solve real-world challenges by a
combination of microcontroller programming, electronics, and computer -aided design and manufacturing. Student teams
choose their own ...