Software Design Principles

Coursera Courses ↗ · Coursera

Open Course on Coursera

Free to audit · Opens on Coursera

Software Design Principles

Coursera · Intermediate ·🏗️ Systems Design & Architecture ·1mo ago
Master the essential principles and patterns that form the foundation of modern software development. This comprehensive course guides you through the evolution of software design, from understanding the Software Engineering Body of Knowledge to implementing advanced architectural styles. You'll explore object-oriented design principles, refactoring techniques, and design patterns across disciplines, while learning to differentiate between high-level architectural design and low-level detailed design. Through practical examples and real-world applications, you'll gain expertise in aspect-oriented and service-oriented architectures, event-driven systems, and MVC patterns. By examining the historical progression of programming languages and development environments, you'll understand how to build systems ranging from simple to complex. This course equips you with the critical thinking skills to select appropriate architectural styles, apply design principles systematically, and create maintainable, scalable software solutions that meet evolving business requirements and technical challenges.
Watch on Coursera ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related AI Lessons

Smart Pointers: Every C++ Developer’s Best Friend
Learn how smart pointers in C++ can prevent memory bugs and make development safer and more efficient
Medium · Programming
Java Design Patterns in Practice: Real JDK Examples for Interviews
Learn Java design patterns through real-world examples from the JDK, essential for acing interviews and improving coding skills
Medium · Programming
Hytale Servers Will Fail Treasure Hunts Until We Fix Our Event Handling
Learn how to identify and fix event handling issues in server optimization to prevent failures in treasure hunts
Dev.to · pretty ncube
I Thought Domain-Driven Design Was a Waste of Time. I Was Wrong.
Learn how Domain-Driven Design can improve software development and why it's essential for backend engineers to understand its value
Dev.to · Mostafijur Rahman
Up next
Microsoft Azure Developer Full Course 2026 [FREE] | Azure Tutorial For Beginners | Simplilearn
Simplilearn
Watch →