COURSE DESCRIPTION
Senior design courses allow senior-level students to integrate their software engineering knowledge and produce a useful engineering artifact. Students practice major activities in software development process, including communication, planning, modeling and design, construction, and deployment. It serves as a final preparation for students entering into industry. Students get experience in working as teams, participating in project planning and scheduling, writing reports, giving presentations, and dealing with uncertainties in a professional manner. This is a two-semester senior design sequence. The first semester (CptS 421) is a three-credit course in which the design teams are formed; mentors are interviewed; and the design process and project development are started. A series of assignments are completed that results in written documents, audio/visual presentations, and an alpha prototype implementation. The second semester (CptS 423) is a three-credit course in which the latter phases of the project is documented, project design is completed and tested, and the final software product is presented to external constituencies such as industry representatives, other students, and faculty in general.
STUDENT LEARNING OUTCOMES
During the CptS 421course, students will engage in projects that require them to perform all steps in the software engineering lifecycle. Outcomes of instruction include:
- experience in large-scale software development;
- communication with clients and other stakeholders;
- gathering of project requirements;
- designing of software according to requirements;
- implementing the design;
- performing adequate verification, validation, and testing procedures;
- delivering a professional quality software that meets the client’s requirements;
- writing product specifications, documenting different phases of the project;
- using software development and maintenance tools;
- planning and developing project timelines;
- demonstrating an awareness of professional responsibilities;
- negotiating team dynamics;
- making presentations, using audio/visual tools, at different stages of the project.
Prerequisites:"Cpts 323 Advanced Data Structures"