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 understand recent research publications.
CS-487: Industrial automationThis course consists of two parts:
- architecture of automation systems, hands-on lab
- handling of faults and failures in real-time systems, including fault-tolerant computing
COM-490: Large-scale data science for real-world dataThis hands-on course teaches the tools & methods used by data scientists, from researching solutions to scaling up
prototypes to Spark clusters. It exposes the students to the entire data science pipeline, from data acquisition to
extracting valuable insights applied to real-world problems.
EE-530: Test of VLSI systemsTest of VLSI Systems covers theoretical knowledge related to the major algorithms used in VLSI test, and design for test techniques. Basic knowledge related to computer-aided design for test techniques, and their integration into a design-flow are presented.
CS-401: Applied data analysisThis course teaches the basic techniques, methodologies, and practical skills required to draw meaningful insights from a variety of data, with the help of the most acclaimed software tools in the data science world (pandas, scikit-learn, Spark, etc.)
CS-305: Software engineeringThis course teaches the basics of modern software development: designing software, working in a team, writing good code, shipping software, and evolving software. It emphasizes building software that meets high standards of quality, reliability, security, and manageability.
CS-307: Introduction to multiprocessor architectureMultiprocessors are a core component in all types of computing infrastructure, from phones to datacenters. This course will build on the prerequisites of processor design and concurrency to introduce the essential technologies required to combine multiple processing elements into a single computer.
PHYS-744: Advanced Topics in Quantum Sciences and TechnologiesThis course provides an in-depth treatment of the latest experimental and theoretical topics in quantum sciences and technologies, including for example quantum sensing, quantum optics, cold atoms, theory of quantum measurements and open dissipative quantum systems, etc.
EE-584: Spacecraft design and system engineeringThe main objective of the course is to introduce the concept of space system design and engineering. The course will describe the various subsystems involved in the design of a satellite. It will also describe the techniques of systems engineering that are used to obtain a coherent satellite design.
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 machines or communication links. This course will study the foundations of reliable distributed computing.