Skip to main content

Designing Robust Software Systems

Overview

Designing software systems that can be used, maintained, and extended over time is a critical skill for software engineers. Robust systems that will be used for years or even decades require careful consideration of design principles and practices. The goal of this course is to provide you with a thorough understanding of software architecture and design principles, enabling you to recognize and manage complexity in software systems, communicate your design effectively, and apply best practices for writing maintainable and scalable code.

Topics