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
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-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
PHYS-463: Computational quantum physicsThe numerical simulation of quantum systems plays a central role in modern physics. This course gives an introduction to key simulation approaches, through lectures and practical programming exercises
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
CS-302: Parallelism and concurrency in softwareFrom sensors,to smart phones,to the world's largest datacenters and supercomputers, parallelism & concurrency is ubiquitous in modern computing.There are also many forms of parallel & concurrent execu
CH-457: AI for chemistryThe AI for Chemistry course will focus on teaching students how to use machine learning algorithms and techniques to analyze and make predictions about chemical data. The course will cover topics such
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
BIO-689: Nature, In Code - Biology in JavaScriptNature, In Code teaches basic biological principles - such as natural selection, epidemics, the evolution of cooperation - by implementing those priciples in the programming language JavaScript. The c