Secure Computation has emerged as a central cryptographic tool to construct applications that handle sensitive data on untrusted platforms. The course gives an overview of the most common constructions, based on either homomorphic encryption or on "garbled circuits". Furthermore, the lecture will discuss prominent applications as well as programming paradigms for secure computation