This MSc course focuses on the interface between pure mathematics and theoretical computer science. It is suitable for those who wish to pursue research in pure mathematics, mathematical logic, or theoretical computer science. It is also suitable for students wishing to enter industry with an understanding of mathematical and logical design and concurrency.