Software Design Principles

External: Coursera Courses ↗ · Coursera

Open Course on External: Coursera

Free to audit · Opens on External: Coursera

Software Design Principles

Coursera · Intermediate ·🏗️ Systems Design & Architecture ·3mo ago

Key Takeaways

Covers software design principles, patterns, and architectural styles

Original Description

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 External: Coursera ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related AI Lessons

What OOP Actually Buys You (And Why “Real World Modeling” Is a Lie)
Learn the actual benefits of Object-Oriented Programming (OOP) and why 'real world modeling' is a misconception
Medium · Programming
Data Partitioning in System Design: Why Every Scalable Application Depends on It
Learn how data partitioning enables scalable applications to handle growth without failing
Medium · Programming
Why Realtime Collaboration Is Harder Than It Looks?
Realtime collaboration is a complex distributed systems problem that requires careful engineering, not just a simple UI feature
Medium · JavaScript
Podcast: Architectural Patterns: Moving Beyond Cloud-Native to Local-First - Insights from Adam Wiggins
Learn how to design local-first architectures that combine cloud-based collaboration with local software performance and data ownership
InfoQ AI/ML
Up next
Retracing It All With My Son
Ginny Clarke
Watch →