Course Description for Software Engineering
Co-requisite: COP 4710
Description: This course introduces students to fundamental Software Engineering concepts and current practices by covering software development activities associated with the entire software development lifecycle, including ethical and legal issues. Concepts and practices are applied through the collaborative, incremental, and iterative development of a comprehensive software system for a variety of hardware platforms and software clients, and with the support of professional integrated development environments, version control, and project tracking tools. Topics covered include, but are not limited to: software process models; domain modeling; model-driven development; elicitation and documentation of requirements; software architectures; design paradigms and patterns; project management, tracking, and release planning; collaborative development; testing, deployment, and maintenance; ethical and legal issues in Software Engineering.