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
DH-405: Foundations of digital humanitiesThis course gives an introduction to the fundamental concepts and methods of the Digital Humanities, both from a theoretical and applied point of view. The course introduces the Digital Humanities cir
CS-486: Interaction designThis course focuses on goal-directed design and interaction design, two subjects treated in depth in the Cooper book (see reference below). To practice these two methods, we propose a design challenge
ENG-410: Energy supply, economics and transitionThis course examines energy systems from various angles: available resources, how they can be combined or substituted, their private and social costs, whether they can meet the energy demand, and how
CS-510: Topics in software securityMemory corruption and type safety flaws dominate the threat landscape. We will approach current research
from three dimensions: sanitization (finding flaws through runtime monitors); fuzzing (testing