Applies engineering principles to phases of software product development, project planning, requirements definition, design, implementation, validation, and maintenance. Emphasizes practical methods for communicating and verifying definitions and designs---prototyping, inspections, and modeling. Includes relation to RTS and object-oriented programming. Prereqs., CSCI 1300, CSCI 2270, or instructor consent. Same as ECEN 5543. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree majors only.