diff --git a/docs/computer-science/index.md b/docs/computer-science/index.md index bf721bd..50391e0 100644 --- a/docs/computer-science/index.md +++ b/docs/computer-science/index.md @@ -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 diff --git a/docs/computer-science/program-design/software-architecture/index.md b/docs/computer-science/program-design/software-architecture/index.md index 88077f8..4b2acb4 100644 --- a/docs/computer-science/program-design/software-architecture/index.md +++ b/docs/computer-science/program-design/software-architecture/index.md @@ -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 \ No newline at end of file +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.