Three credits
                        
                        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.