Computer Science

Software Design and Testing

Software Design and Testing
Principles of software design, design patterns, design representation, refactoring. Principles of software quality assurance and testing. Development and testing tools.
 Hours3.0 Credit, 3.0 Lecture, 0.0 Lab
 PrerequisitesC S 240
 NoteStudents are allowed only 1 retake of C S 340. This includes students who have failed or withdrawn (received a "W" grade). If after 1 retake, a student needs to retake the course again, the student must wait 1 semester/term before being allowed to take any C S course and must follow the petition process at This policy does not apply to classes dropped before the add/drop deadline. Petitions for exceptions to the policy can be completed at
 TaughtFall, Winter, Spring, Summer
 ProgramsContaining C S 340
Course Outcomes: 

Software Design Principles

Understand the principles of effective software design.

Design Judgement

Know when and how to apply various design patterns.

Document and Communicate Designs

Learn to effectively document and communicate software designs.

Cloud Computing Technologies

Gain experience implementing software designs using cloud computing technologies.