Getting Started with Dafny: A Guide - Koenig, Jason; Leino, Rustan (2012)
Common program specification and verification build on concepts like method pre- and postconditions and loop invariants. These lectures notes teach those concepts in the context of the language and verifier Dafny.