Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/computer-science/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Learn how to think like a programmer and build robust, well-structured, thorough
- [Class-Based Program Design](./program-design/class-based/index.md)
- [Programming Languages](./program-design/programming-languages/index.md)
- [Object-Oriented Design](./program-design/object-oriented/index.md)
- [Software Architecture](./program-design/software-architecture/index.md)
- [Software Architecture and Design](./program-design/software-architecture/index.md)

### Math

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@
sidebar_position: 5
---

# Software Architecture
# Software Architecture and Design
*Timeline: 8 - 20 hours*

The following is quoted from the course website:
Software Architecture and Design will provide students with the principles and concepts involved in the analysis and design of large software systems. The learning objectives for the course are the following:

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.
- Understand and apply object-oriented design techniques
- Develop and evaluate software architectures
- Select and use appropriate architectural styles
- Select and use appropriate software design patterns
- Express the specifications and design of an application using UML

In the Capstone Project you will document a Java-based Android application with UML diagrams and analyze evaluate the application’s architecture using the Architecture Tradeoff Analysis Method (ATAM).
***Course Link:*** https://omscs.gatech.edu/cs-6310-software-architecture-and-design-course-videos

- https://www.coursera.org/learn/software-architecture
Lectures are divided into several short videos. Some lectures contain exercises: the problems are explained in the first few videos, you are then asked to pause and attempt them on your own, and the solutions are presented in the following video.