3 hours lecture
Prerequisite: MTH 182
Course in presentation of formal model-based methods of software development. Review of mathematical foundations for formal methods. Formal languages and techniques for specification and design, including specifying syntax using grammars, finite state machines, and Petri nets. Analysis and verification of specifications and designs. Use of assertions, invariants, and proofs. Automated program and design transformation.