Software Design and Architecture Specialization
You will study how to apply design ideas, patterns, and architectures to construct reusable and flexible software applications and systems in the Software Design and Architecture Specialization. You'll learn how to use visual notation to express and document the design and architecture of a software system. Employable skills and relevant experience in the software business can be developed through practical examples and opportunities to apply your knowledge.
The Capstone Project entails evaluating and developing a Java-based Android application over the duration of the Specialization's four courses. This software will progress from a single-user application that stores data locally to a multi-user application that stores data remotely. In each course, you'll be given a Java codebase to work with as a starting point, and you'll be expected to describe and implement new features based on what you've learned so far.
Tutorials are available to assist you in comprehending the beginning codebase and learning the fundamentals of Android development. You should be familiar with the basics of Java programming. Android Studio, an integrated development environment, will be required for the capstone application. Please examine the tutorials for Windows or Mac to learn more about Android Studio.
Skills you will gain
- Software Architecture
- Java
- Software Design Pattern
- Object-Oriented Programming (OOP)
- Object-Oriented Design
- Object-Oriented Analysis And Design
- Unified Modeling Language (UML)
- Web Service
- Microservices
- Representational State Transfer (REST)
- Service-Oriented Architecture
Instructor: Kenny Wong
Coursera rate: 4.6/5.0, 2.211 ratings
Offered by: University of Alberta
Enroll here: https://www.coursera.org/specializations/software-design-architecture