CS-214: Software constructionLearn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills (declarative style, higher-order functions, inductive types, parallelism) and
fundam
CS-450: Algorithms IIA first graduate course in algorithms, this course assumes minimal background, but moves rapidly. The objective is to learn the main techniques of algorithm analysis and design, while building a reper
CS-452: Foundations of softwareThe course introduces the foundations on which programs and programming languages are built. It introduces syntax, types and semantics as building blocks that together define the properties of a progr
AR-529: Exquisite Corpse: Architecture AssembledThrough close readings of key examples, the course revisits the historical evolution of architectural drawing and representation as autonomous entities, aiming to reclaim the agency of architectural d
AR-678: Harmony and ConflictsThis is a methodological PhD course focused on the history and description of one case study (building, drawing or projects) and the construction of its historical broader context.
CS-210: Functional programmingUnderstanding of the principles and applications of functional programming, the fundamental models of program
execution, application of fundamental methods of program composition, meta-programming thr