It teaches you how to transform abstract statements into practical software designs. Learn how databases, caches, message queues, and load balancers function, and how to implement them.
Software Design and Architecture Specialization by University of Alberta
This specialization teaches you how to create reusable and flexible software applications and systems by applying design ideas, patterns, and architectures. Lean to use visual notation.
The course will teach you how to store and retrieve data in Java programs, determine the best data structures for the problem statement, and use in-built Java collections.
This course teaches concepts through articles and progressively challenging exercises based on the Learning By Doing approach. Learn SOLID principles and various design patterns.
The course includes video tutorials covering topics like Caching, Proxies, Network Protocols, etc. It is regularly updated with quizzes, mock interview problems, and video lessons.
Secure Software Design Specialization by University of Colorado
This specialization teaches students how to design and maintain secure software. Various skill sets will be covered, like UML, Unit Testing, Ethics, Effective User Interfaces, etc.
Java Programming: Principles of Software Design by Duke University
It focuses on Java Programming and Software Design principles. You'll learn how to use sorting in problem-solving, create classes with comparable interfaces, and many more.
It covers many aspects of System Design Interviews, including load balancing, caching, data partitioning, etc. Text-based learning and hands-on coding are main features of course.
Object-Oriented Analysis, Design & Programming with UML by Udemy
This course teaches you how to create software using object-oriented methodologies. Also, how to evaluate and design classes so you can build a model of the problem domain.
The course covers various principles and concepts relevant to analysis and design of large software systems, including Design Concepts, UML and Analysis, Software architecture, etc.