4.00 Credits
Overview of software engineering concentrating on phases of the software development life cycle including agile software development processes, management, stories and features, specifications, architecture design (APIs, scalability, microservices), specification-based testing, coverage-based testing, and formal verification. Software management topics covered include source control, issue tracking, continuous integration, test automation, quality assurance, and code reviews.
Prerequisite:
C- or higher in CSCI 330, 362 and 366