C S 340

Download as PDF

Software Design

Computer Science College of Computational, Mathematical, & Physical Sciences

Course Description

Use design, development, testing and refactoring techniques to build and evolve reliable, maintainable and scalable software systems. Covers a wide range of design patterns and principles. Also introduces students to software architecture and architectural patterns.

When Taught

Fall and Winter

Min

3

Fixed/Max

3

Fixed

3

Fixed

0

Title

Software Design Principles

Learning Outcome

Apply fundamental principles of effective software design to create systems that are modular, extensible, and robust. This pursuit of structural excellence is intellectually enlarging, as students master the abstract logic required to organize complex digital realities.

Title

Design Judgement

Learning Outcome

Evaluate technical requirements to determine when and how to apply specific design patterns. Cultivating this professional discernment is character building, as it requires the wisdom to balance competing priorities with integrity and foresight.

Title

Document and Communicate Designs

Learning Outcome

Utilize professional standards to effectively document and communicate software architectures to diverse stakeholders. Developing these communication skills facilitates lifelong learning, ensuring students can share their insights and collaborate effectively throughout their careers.

Title

Cloud Computing Technologies

Learning Outcome

Implement sophisticated software designs using modern cloud computing platforms. Utilizing these powerful global resources is spiritually strengthening, as students learn to act as capable stewards who can deploy solutions to serve and bless a worldwide community.