Computer & Information Science
- Computer Science BS, BS/MS
- Computer Science MS
- Computer Science Graduate Certificate
- Mobile Applications Development
- Software Engineering Option
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
Organization of a compiler including lexical and syntax analysis, symbol tables, object code generation, error detection and recovery, code optimization techniques, and overall design. Compilation techniques and run-time structures in block-structured language.