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
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
BIO-373: Genetics and genomicsThe theoretical part of this course covers classical genetics and contemporary genomics. Because bioinformatics has become important for genomic research, the course also includes practical applicatio
ENG-430: Risk managementThis course provides students with the opportunity to acquire the methods and tools necessary for modern risk management from an engineering standpoint. It emphasizes actors, resources, and objectives
MICRO-435: Quantum and nanocomputingThe course teaches non von-Neumann architectures. The first part of the course deals with quantum computing, sensing, and communications. The second focuses on field-coupled and conduction-based nanoc
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
PHYS-428: Relativity and cosmology IIThis course is the basic introduction to modern cosmology. It introduces students to the main concepts and formalism of cosmology, the observational status of Hot Big Bang theory
and discusses major