Computer Science

Software Design

Software Design
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 1 repeat of each C S undergraduate course (all 100-, 200-, 300- or 400-level courses). This includes all students who received any grade including those who withdraw (receive a "W" grade) from a C S course. Students must wait 1 semester/term before being allowed to take a course they have failed twice. 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.