Courses from 1000+ universities
Seven years after replacing a Yale president with a fintech CEO, Coursera picks an Amazon veteran to help fix its slowing growth and falling stock price.
600 Free Google Certifications
Data Analysis
Project Management
Graphic Design
Critical Perspectives on Management
Design Patterns
Supporting Victims of Domestic Violence
Organize and share your learning with Class Central Lists.
View our Lists Showcase
Explore a wide range of free and certified Software design online courses. Find the best Software design training programs and enhance your skills today!
Learn threat modeling techniques to identify and mitigate security risks in software design. Enhance your ability to create secure applications through systematic analysis and proactive planning.
Learn threat modeling techniques for secure software design, including STRIDE framework, OWASP Cornucopia, and risk assessment methods to identify and mitigate potential security threats in your applications.
Explore the trade-offs between monolithic and microservices architectures from a Continuous Delivery perspective. Learn key considerations for effective software design and architecture.
Explore software design lessons from the Ariane 5 rocket failure, examining testing, validation, and security principles to prevent catastrophic system failures in critical applications.
Master Python design patterns through hands-on implementation of OOP principles, from encapsulation to polymorphism, while building practical applications like audio systems, text editors, and simulation programs.
Explore strategies for choosing between generic and specific software design solutions, considering factors like reusability, scalability, and future requirements.
Master essential software design patterns through hands-on Java exercises, covering encapsulation, abstraction, polymorphism, and composition to build robust, flexible applications.
Master essential software design patterns in TypeScript, from encapsulation and abstraction to polymorphism, while learning to create flexible and maintainable code using object-oriented principles.
Discover how Logical Execution Time paradigm enables deterministic software behavior in automotive systems, focusing on design, integration, and verification for complex embedded applications.
Master essential software design patterns through hands-on JavaScript exercises, covering encapsulation, abstraction, polymorphism, and composition for building robust, flexible applications.
Explore how modularity principles extend beyond software development to reshape organizational structures, with insights into LabVIEW community's evolution and future adaptability.
Master essential software design patterns and OOP principles in C# through hands-on examples, from encapsulation to polymorphism, enhancing your ability to create flexible solutions.
Master essential software design patterns and object-oriented principles in C++, from encapsulation to polymorphism, enabling you to create flexible and maintainable code architectures.
Explore the evolving intersection of design and programming in the AI era, examining how Design Engineering shapes software development's future through real experiences at GitHub.
Discover practical insights into software design relationships, exploring coupling, cohesion, and strategic investment timing through empirical approaches to daily programming challenges.
Get personalized course recommendations, track subjects and courses with reminders, and more.