The course explains how to execute scalable algorithms on fault-tolerant quantum computers. It describes error correction used to build reliable logical operations from noisy physical operations, and
We 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
Students 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
This course teaches the basics of modern software development: designing software, working in a team, writing good code, shipping software, and evolving software. It emphasizes building software that
This course teaches the basics of developing real-world software, i.e., software that is large and complex, is developed by a team, evolves and needs to be maintained, and can cause serious harm if it
This course provides a deep understanding of the concepts behind data management systems. It covers fundamental data management topics such as system architecture, data models, query processing and op
The course covers fundamental principles for understanding and building systems for managing and analyzing large amounts of data.