Review of mathematical foundations for formal methods; Formal languages and techniques for specification and design including specifying syntax using grammars and finite state machines; Analysis and verification of specifications and designs; Use of assertions and proofs; Automated program and design transformation.

Credit: 3
Prerequisite: CSC 3114