In this course we introduce formal verification as a principled approach for developing systems that do what they should do, studying underlying tools and algorithms.

See also http://lara.epfl.ch/w/fv