CSC 402: Software Engineering.
This course aims to introduce students to apply programming knowledge and technical skills learned in previous CS classes to practical aspects of software engineering. This includes problem formulation, requirements engineering, architecture, design, implementation, integration, documentation and delivery of a software system. The goal will be for each student to have had a hand in building complete and useful applications that could be released for real-world use. This course is a highly interactive course, in which students are expected to fully participate in class-based activities and discussions. Students will also be expected to spend a significant amount of time on technical writing, presentations, and practical software development as part of a team project.