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
HUM-282: Introduction to linguisticsCe cours est une introduction à la linguistique, discipline qui étudie les unités et les règles des langues humaines et rend compte de leur fonctionnement et de leurs fonctions.
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-525: Marvelous ArchitectureCe cours explore une définition spécifique de la rationalité architecturale, en empruntant au surréalisme et à l'épistémologie de Bachelard pour tenter de comprendre la manière dont les formes archite
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 u