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 into machine code using a popular backend called LLVM (htt ...
CS-550: Formal verificationWe introduce formal verification as an approach for developing highly reliable systems. Formal verification finds proofs that computer systems work under all relevant scenarios. We will learn how to use formal verification tools and explain the theory and ...
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 coupled with C programming lectures and assignments for ...
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. ...
EE-334: Digital systems designStudents will acquire basic knowledge about methodologies and tools for the design, optimization, and verification of custom digital systems/hardware.
They learn how to design synchronous digital circuits on register transfer level, analyse their timing a ...
MICRO-401: Machine learning programmingThis is a practice-based course, where students program algorithms in machine learning and evaluate the performance of the algorithm thoroughly using real-world dataset. ...
AR-201(m): Studio BA3 (Taillieu)A house is the simple topic of this studio. A matter of simple complexity. Learning about a house is learning about
architecture. The first part of the year is about learning about a house. The second part is about making your house. ...
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 ...
AR-202(m): Studio BA4 (Taillieu)A house is the simple topic of this studio. A matter of simple complexity. Learning about a house is learning about
architecture. The first part of the year is about learning about a house. The second part is about making your house. ...
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. Introduction à l'instrumentation virtuelle. ...
AR-301(ah): Studio BA5 (Malterre-Barthes)"To be useful, helpful, of assistance to someone:" The "In Service of: Berre" studio
reflects on the architectural and territorial project as a form of public service. It explores how architecture and design tools can engage in spatial struggles in the con ...
AR-302(ah): Studio BA6 (Malterre-Barthes)How is architecture made? 'Revolutionize Construction' unpacks the political economy of construction, examining who commissions, finances, and builds, and interrogating architects' roles. It explores how these systems might be revolutionized to enable the ...
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 ...
DH-603: Methodological Advances in Digital HumanitiesThrough a combination of lectures, seminar, and practical workshops, this course serves as an introduction to critical digital humanities and algorithmic critique, and is specifically tailored for researchers in big data cultural analytics. ...