Software Design

Software Design is a process of defining the architecture, components, interfaces, and other characteristics of a software system. Coursera's Software Design catalogue helps you to understand and apply design principles to create an effective, maintainable, and scalable software system. You'll learn about various design patterns, interface designs, user experience considerations, system architectures, and managing design complexity. You'll also gain insights into how to effectively communicate and document design decisions, and the impacts of those decisions on software quality and performance. Whether you are a seasoned software engineer, a developer looking to advance your design skills, or someone transitioning into the field, mastering these design elements can help you create high-quality software products.
50credentials
1online degree
160courses

Explore the Software Design Course Catalog

  • Status: Free Trial

    University of Colorado Boulder

    Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Electronic Hardware, Software Systems, Performance Tuning, Embedded Software, Systems Architecture, Hardware Architecture, System Software, Software Architecture, Verification And Validation, Debugging, Real Time Data, System Design and Implementation, System Programming, Software Technical Review, Systems Engineering, Software Design, Systems Design, Operating Systems

  • Status: Free Trial

    University of California, Irvine

    Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Functional Design, Data Structures, Software Design, Debugging

  • Status: Preview

    Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java, Software Design, Software Design Patterns, Programming Principles, Software Development

  • Status: Free Trial

    Northeastern University

    Skills you'll gain: Systems Thinking, Software Visualization, Object Oriented Design, Software Engineering, Object Oriented Programming (OOP), Application Design, Web Applications, Software Development Life Cycle, Case Studies, Data Modeling, Systems Development, Software Development, Business Architecture, Business Risk Management, Python Programming, User Centered Design, Software Design, Application Development, Computer Programming, Development Environment

  • Status: Free Trial

    Universidad Austral

    Skills you'll gain: Software Documentation, Object Oriented Design, Unified Modeling Language, Relational Databases, Object-Relational Mapping, Software Design, Test Driven Development (TDD), Database Management, Unit Testing, Object Oriented Programming (OOP), Database Design, Debugging, SQL, Data Structures, Python Programming, JSON, File Management, Computer Programming, Programming Principles, Software Installation

  • Status: Preview

    École Polytechnique Fédérale de Lausanne

    Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Computer Programming, Software Design

  • Status: Preview

    Skills you'll gain: Embedded Software, Real-Time Operating Systems, Software Development, Software Design, Software Architecture, Embedded Systems, Configuration Management, Systems Architecture, Application Development, System Configuration, Application Frameworks

  • Status: New
    Status: Free Trial

    Skills you'll gain: Computer Graphics, Visualization (Computer Graphics), Event-Driven Programming, 3D Assets, Computer Graphic Techniques, Application Development, C++ (Programming Language), Software Design, Video Game Development, Microsoft Windows, Maintainability, Software Architecture, Application Lifecycle Management, System Configuration, Image Quality, Performance Tuning, Data Structures, Applied Mathematics, Linear Algebra, Algebra

  • Status: Free Trial

    University of California, Davis

    Skills you'll gain: Secure Coding, Application Security, Software Design, Programming Principles, Debugging, Vulnerability Assessments, C (Programming Language), Software Development Methodologies

  • Status: Free Trial

    University of California San Diego

    Skills you'll gain: Graph Theory, Data Structures, Java Programming, Java, Object Oriented Design, Software Design, Algorithms, Object Oriented Programming (OOP), Network Routing, Computational Thinking, Application Development, Debugging

  • Status: Free Trial

    Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Software Design

  • Status: Free Trial

    Skills you'll gain: Android Development, Mobile Development, Software Design, User Interface (UI) Design, Java Programming, Data Sharing, Database Management, Service Management