In the Software Design and Architecture Specialization, you will learn how to apply design principles, patterns, and architectures to create reusable and flexible software applications and systems. This specialization covers object-oriented design, design patterns, software architecture, and service-oriented architecture.
Throughout the program, you will be challenged with practical examples and opportunities to apply your knowledge, enabling you to develop employable skills and relevant expertise in the software industry. The courses emphasize expressing and documenting the design and architecture of a software system using visual notations such as Unified Modeling Language (UML).
Certificate Available ✔
Get Started / More InfoAcquire essential skills in object-oriented design, design patterns, software architecture, and service-oriented architecture. Gain practical experience and insight into creating quality software applications.
This course takes Java beginners to the next level by covering object-oriented analysis and design. You will learn how to create modular, flexible, and reusable software, and communicate these designs using Unified Modeling Language (UML).
This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. You will gain a foundation for more complex software applications and identify problematic software designs by referencing a catalog of code smells.
The course covers the representation of software architectures, common architectures, evaluation, and improvement. You will study different architectural styles, including UML representation, and the behavior of a system using UML activity diagrams.
This module covers Service-Oriented Architecture (SOA), including web service architectures and the basics of Web Services (WS*) and Representational State Transfer (REST) architecture. You will learn to create a system using REST interfaces and apply microservice architecture.
Create a Macro Processor with PERL is a 1-hour guided project where you'll build a macro processor and create your own macro markup language. Learn PERL file operations...
Introduction to Self-Driving Cars is an advanced course covering hardware, software, safety assessment, and vehicle modeling for self-driving cars.
Learn to manage packages and virtual environments with Python's built-in tools, third-party tools, and package Python scripts and applications for a wider audience....
This course explores the implementation of Docker and Kubernetes to deploy web applications, enabling continuous operation in any environment. Gain proficiency in...