C S 340
Download as PDF
Software Design
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.