Applies engineering principles to phases of software product development, project planning, requirements definition, design, design patterns, validation, and maintenance. Emphasizes practical methods for communicating and verifying definitions and designs---prototyping, inspections, and modeling (primarily UML). Includes relation to embedded systems and object-oriented design. Prereqs., ECEN 1030/CSCI 1300, CSCI 2270, or instructor consent. Same as CSCI 5548. Prerequisites: Restricted to Graduate Students only.