This course provides students with a view into the job of a software engineer through hands-on interaction with course material. Topics covered include engineering processes and their application to the development of software; cost and effort estimation; software testing and test management; team structure, roles and composition; deployment and configuration management; and professional ethics.
Prerequisites include COSC A317 Data Structures and Sophomore Standing. If you do not meet these requirements, you will need Instructor Approval to register for the course.
This is a capstone course for the Computer Science degree programs, and includes a significant amount of independent and group-based work building real software solutions. To be successful in this course, you should have practical experience building software from beginning to end, including designing and building software, writing and compiling code, working with databases, testing software, and running software.
The general syllabus describes the common elements of this course across sections and semester offerings.