Bachelor of Software engineering
About this Specialization
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. You will learn how to express and document the design and architecture of a software system using a visual notation.
Practical examples and opportunities to apply your knowledge will help you develop employable skills and relevant expertise in the software industry.
Applied Learning Project
The Capstone Project involves a Java-based Android application that you will evaluate and develop throughout the four courses of the Specialization. This application will evolve from a single user app that stores data locally to a multi-user app that stores data remotely. In each course you will be given a Java codebase as a starting point and will have to document and implement new features using your knowledge gained in the course.
Tutorials are provided to help you understand the starter codebase and learn the basics of Android development.
You are expected to have basic Java programming knowledge. The capstone application will require you to use Android Studio, an integrated development environment. To learn more about Android Studio, please review the tutorials for Windows