Software Architecture

Software Architecture is the practice of designing and managing large, complex software systems. It involves not only the structure of software systems but also their functionality, performance, resilience, reusability, and comprehensibility. Coursera's Software Architecture catalogue helps you gain an in-depth understanding of the principles and patterns behind system design. You'll learn how to deal with system complexity, understand design principles such as abstraction, modularity, and hierarchy, and familiarize yourself with architectural styles and patterns. Furthermore, you'll gain insight into the trade-offs involved in designing and implementing software architectures, and learn how to evaluate different architectures for their suitability to a given problem or application context. This knowledge will empower you to create effective, efficient, and robust software systems for various industries and applications.
56credentials
3online degrees
173courses

Explore the Software Architecture Course Catalog

  • Status: Free Trial

    University of London

    Skills you'll gain: Computer Science, Computer Systems, Web Applications, Computer Literacy, Network Security, Computer Networking, Computational Thinking, Debugging, Web Design and Development, Cybersecurity, Problem Management, Software Architecture, Data Storage

  • Status: Free Trial

    University of Toronto

    Skills you'll gain: Control Systems, Automation, Simulation and Simulation Software, Software Architecture, Safety Assurance, Hardware Architecture, Systems Architecture, Mathematical Modeling, Computer Hardware, Mechanics

  • Status: Free Trial

    Skills you'll gain: JUnit, Unit Testing, Maintainability, Software Design Patterns, Software Testing, Test Automation, Integration Testing, Test Driven Development (TDD), Testability, Software Engineering, System Testing, Android Development, Application Security, Software Architecture, Application Design

  • Skills you'll gain: Middleware, Application Frameworks, Web Applications, Model View Controller, Agile Software Development, Git (Version Control System), Software Engineering, Web Development, Software Development, User Interface (UI), Databases, Relational Databases, Ajax, Software Architecture, Ruby on Rails, Javascript, Network Protocols

  • Status: Free Trial

    University of Colorado System

    Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Technical Design, Object Oriented Design, Software Engineering, Software Development Tools, JUnit, Systems Design, Data Ethics, Test Automation, Software Architecture, Software Development Methodologies, Dataflow

  • Status: Free Trial

    Skills you'll gain: Swift Programming, Apple iOS, User Interface and User Experience (UI/UX) Design, User Interface (UI), Git (Version Control System), Apple Xcode, Mobile Development, User Experience, Wireframing, Application Development, Application Design, Application Deployment, Data Management, Software Architecture

  • Status: New

    Skills you'll gain: Systems Architecture, Software Architecture, Systems Design, Solution Architecture, Service Oriented Architecture, Maintainability, Systems Analysis, Enterprise Architecture, Scalability, Requirements Analysis

  • Status: Free Trial

    Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design Patterns, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Application Design, User Interface and User Experience (UI/UX) Design, API Design, Data Modeling, Artificial Intelligence

  • Skills you'll gain: Verification And Validation, Theoretical Computer Science, System Testing, System Software, Systems Design, Software Architecture, Embedded Systems

  • Status: New
    Status: Free Trial

    University of Colorado Boulder

    Skills you'll gain: Bash (Scripting Language), Distributed Computing, Scalability, Software Architecture, Big Data, Operating Systems, Performance Tuning, File Systems, Cloud Development, Scripting, Command-Line Interface, C and C++, Linux, Data Sharing, OS Process Management, Communication Systems, Artificial Intelligence

  • Status: Free Trial

    Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Software Design Patterns, Java, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Model View Controller, Conceptual Design

  • Skills you'll gain: Generative Model Architectures, Generative AI, Site Reliability Engineering, Scalability, Application Design, Cloud Computing Architecture, Systems Architecture, Cloud Applications, Load Balancing, Cloud Platforms, Application Deployment, Distributed Computing, Enterprise Architecture, Artificial Intelligence and Machine Learning (AI/ML), Software Architecture, Infrastructure as Code (IaC), Containerization, Responsible AI, Continuous Monitoring, Security Engineering